1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/pyinventory_ynh.git synced 2024-09-03 20:16:09 +02:00
YunoHost app package for: https://github.com/jedie/PyInventory
Find a file
2021-09-16 12:10:40 +02:00
.github Add github templates... 2021-05-14 12:13:31 +02:00
conf Update requirements 2021-09-16 12:10:40 +02:00
scripts Add "--upgrade" to upgrade python venv call 2021-09-16 09:26:02 +02:00
tests Update "conf/requirements.txt" and check it with a test 2021-09-15 21:03:02 +02:00
.editorconfig Add .editorconfig 2020-12-19 19:56:27 +01:00
.flake8 fix linting by addning flake8 config file 2020-12-30 09:58:41 +01:00
.gitignore fix linting by addning flake8 config file 2020-12-30 09:58:41 +01:00
check_process Create check_process 2020-12-09 17:44:40 +01:00
LICENSE init 2020-12-08 09:06:25 +01:00
local_test.py Switch from "django_ynh" to "django_yunohost_integration" 2021-09-15 20:39:29 +02:00
Makefile add pytests 2020-12-29 13:58:51 +01:00
manifest.json Update requirements 2021-09-16 12:10:40 +02:00
poetry.lock Update requirements 2021-09-16 12:10:40 +02:00
pyproject.toml Update requirements 2021-09-16 12:10:40 +02:00
README.md Add info about emails into README 2021-05-14 12:02:46 +02:00
run_pytest.py Switch from "django_ynh" to "django_yunohost_integration" 2021-09-15 20:39:29 +02:00

PyInventory for YunoHost

Integration level
Install PyInventory with YunoHost

This package allows you to install PyInventory quickly and simply on a YunoHost server. If you don't have YunoHost, please consult the guide to learn how to install it.

Pull requests welcome ;)

Overview

PyInventory is a libre web-based management to catalog things including state and location etc. using Python/Django.

Screenshots

Settings and upgrades

Almost everything related to PyInventory's configuration is handled in a "../conf/settings.py" file. You can edit the file /opt/yunohost/pyinventory/local_settings.py to enable or disable features.

Test sending emails:

ssh admin@yourdomain.tld
root@yunohost:~# cd /opt/yunohost/pyinventory/
root@yunohost:/opt/yunohost/pyinventory# source venv/bin/activate
(venv) root@yunohost:/opt/yunohost/pyinventory# ./manage.py sendtestemail --admins

Background info: Error mails are send to all settings.ADMINS. By default the YunoHost admin is inserted here. To check current ADMINS run:

(venv) root@yunohost:/opt/yunohost/pyinventory# ./manage.py sendtestemail --admins

If you prefere to send error emails to a extrnal email address, just do something like this:

echo "ADMINS = (('Your Name', 'example@domain.tld'),)" >> /opt/yunohost/pyinventory/local_settings.py

To check the effective settings, run this:

(venv) root@yunohost:/opt/yunohost/pyinventory# ./manage.py diffsettings

Miscellaneous

SSO authentication

SSOwat is fully supported via django_ynh:

  • First user ($YNH_APP_ARG_ADMIN) will be created as Django's super user
  • All new users will be created as normal users
  • Login via SSO is fully supported
  • User Email, First / Last name will be updated from SSO data

Developer info

package installation / debugging

Please send your pull request to https://github.com/YunoHost-Apps/pyinventory_ynh

Try 'main' branch, e.g.:

sudo yunohost app install https://github.com/YunoHost-Apps/pyinventory_ynh/tree/master --debug
or
sudo yunohost app upgrade pyinventory -u https://github.com/YunoHost-Apps/pyinventory_ynh/tree/master --debug

Try 'testing' branch, e.g.:

sudo yunohost app install https://github.com/YunoHost-Apps/pyinventory_ynh/tree/testing --debug
or
sudo yunohost app upgrade pyinventory -u https://github.com/YunoHost-Apps/pyinventory_ynh/tree/testing --debug

To remove call e.g.:

sudo yunohost app remove pyinventory

Backup / remove / restore cycle, e.g.:

yunohost backup create --apps pyinventory
yunohost backup list
archives:
  - pyinventory-pre-upgrade1
  - 20201223-163434
yunohost app remove pyinventory
yunohost backup restore 20201223-163434 --apps pyinventory

Debug installation, e.g.:

root@yunohost:~# ls -la /var/www/pyinventory/
total 18
drwxr-xr-x 4 root root 4 Dec  8 08:36 .
drwxr-xr-x 6 root root 6 Dec  8 08:36 ..
drwxr-xr-x 2 root root 2 Dec  8 08:36 media
drwxr-xr-x 7 root root 8 Dec  8 08:40 static

root@yunohost:~# ls -la /opt/yunohost/pyinventory/
total 58
drwxr-xr-x 5 pyinventory pyinventory   11 Dec  8 08:39 .
drwxr-xr-x 3 root        root           3 Dec  8 08:36 ..
-rw-r--r-- 1 pyinventory pyinventory  460 Dec  8 08:39 gunicorn.conf.py
-rw-r--r-- 1 pyinventory pyinventory    0 Dec  8 08:39 local_settings.py
-rwxr-xr-x 1 pyinventory pyinventory  274 Dec  8 08:39 manage.py
-rw-r--r-- 1 pyinventory pyinventory  171 Dec  8 08:39 secret.txt
drwxr-xr-x 6 pyinventory pyinventory    6 Dec  8 08:37 venv
-rw-r--r-- 1 pyinventory pyinventory  115 Dec  8 08:39 wsgi.py
-rw-r--r-- 1 pyinventory pyinventory 4737 Dec  8 08:39 settings.py

root@yunohost:~# cd /opt/yunohost/pyinventory/
root@yunohost:/opt/yunohost/pyinventory# source venv/bin/activate
(venv) root@yunohost:/opt/yunohost/pyinventory# ./manage.py check
PyInventory v0.8.2 (Django v2.2.17)
DJANGO_SETTINGS_MODULE='settings'
PROJECT_PATH:/opt/yunohost/pyinventory/venv/lib/python3.7/site-packages
BASE_PATH:/opt/yunohost/pyinventory
System check identified no issues (0 silenced).

root@yunohost:~# tail -f /var/log/pyinventory/pyinventory.log
root@yunohost:~# cat /etc/systemd/system/pyinventory.service

root@yunohost:~# systemctl reload-or-restart pyinventory
root@yunohost:~# journalctl --unit=pyinventory --follow

local test

For quicker developing of PyInventory in the context of YunoHost app, it's possible to run the Django developer server with the settings and urls made for YunoHost installation.

e.g.:

~$ git clone https://github.com/YunoHost-Apps/pyinventory_ynh.git
~$ cd pyinventory_ynh/
~/pyinventory_ynh$ make
install-poetry         install or update poetry
install                install PyInventory via poetry
update                 update the sources and installation
local-test             Run local_test.py to run pyinventory_ynh locally
~/pyinventory_ynh$ make install-poetry
~/pyinventory_ynh$ make install
~/pyinventory_ynh$ make local-test

Notes:

  • SQlite database will be used
  • A super user with username test and password test is created
  • The page is available under http://127.0.0.1:8000/app_path/