1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/scovie_ynh.git synced 2024-09-03 20:16:29 +02:00
Scovie package for YunoHost
Find a file
2023-05-27 12:29:35 +02:00
.github update 7 files 2023-05-26 21:29:29 +04:00
conf update README.md, urls.py and DISCLAIMER.md 2023-05-27 12:23:44 +04:00
doc Merge branch 'master' into testing 2023-05-27 12:28:50 +02:00
scripts first commit 2023-05-26 21:09:08 +04:00
tests update 5 files and delete 6 files 2023-05-27 01:07:02 +04:00
.editorconfig first commit 2023-05-26 21:09:08 +04:00
.flake8 first commit 2023-05-26 21:09:08 +04:00
.gitignore first commit 2023-05-26 21:09:08 +04:00
_common.sh update app id 2023-05-27 14:20:20 +04:00
check_process first commit 2023-05-26 21:09:08 +04:00
config_panel.toml first commit 2023-05-26 21:09:08 +04:00
LICENSE change LICENSE to GPL-3.0-or-later 2023-05-27 12:27:18 +04:00
local_test.py first commit 2023-05-26 21:09:08 +04:00
Makefile first commit 2023-05-26 21:09:08 +04:00
manifest.json Merge branch 'master' into testing 2023-05-27 12:28:50 +02:00
poetry.lock update version to 0.0.5 2023-05-27 10:34:47 +04:00
pyproject.toml build(deps): update pyproject.toml 2023-05-27 14:25:55 +04:00
README.md Merge branch 'testing' of https://github.com/YunoHost-Apps/scovie_ynh into testing 2023-05-27 12:29:35 +02:00
README_fr.md Merge branch 'master' into testing 2023-05-27 12:28:50 +02:00

Scovie for YunoHost

Integration level Working status Maintenance status

Install Scovie with YunoHost

Lire ce readme en français.

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

Overview

Scovie is an open-source digital signage system for high schools, built using Python and Django. It provides an easy-to-use interface for administrators to upload and manage multimedia content, which is then displayed on screens throughout the school.

You can try the demo here.

Pull requests welcome ;)

Shipped version: 0.0.5

Disclaimers / important information

local test

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

e.g.:

~$ git clone https://github.com/eldertek/scovie_ynh.git
~$ cd scovie_ynh/
~/scovie_ynh$ make
install-poetry         install or update poetry
install                install project via poetry
update                 update the sources and installation and generate "conf/requirements.txt"
lint                   Run code formatters and linter
fix-code-style         Fix code formatting
tox-listenvs           List all tox test environments
tox                    Run pytest via tox with all environments
pytest                 Run pytest
publish                Release new version to PyPi
local-test             Run local_test.py to run the project locally
local-diff-settings    Run "manage.py diffsettings" with local test

~/scovie_ynh$ make install-poetry
~/scovie_ynh$ make install
~/scovie_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/

history

These projects used scovie_ynh:


Developer info

The App project will be stored under __FINALPATH__ (e.g.: /opt/yunohost/$app) that's Django's settings.FINALPATH "static" / "media" files to serve via nginx are under __PUBLIC_PATH__ (e.g.: /var/www/$app) that's settings.PUBLIC_PATH

package installation / debugging

This app is not in YunoHost app catalog. Test install, e.g.:

~# git clone https://github.com/eldertek/scovie_ynh.git
~# yunohost app install scovie_ynh/ -f

To update:

~# cd scovie_ynh
~/scovie_ynh# git fetch && git reset --hard origin/testing
~/scovie_ynh# yunohost app upgrade scovie_ynh -u . -F

To remove call e.g.:

sudo yunohost app remove scovie_ynh

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

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

Debug the installation, e.g.:

root@yunohost:~# cat /etc/yunohost/apps/scovie_ynh/settings.yml
...

root@yunohost:~# ls -la /var/www/scovie_ynh/
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/scovie_ynh/
total 58
drwxr-xr-x 5 scovie_ynh scovie_ynh   11 Dec  8 08:39 .
drwxr-xr-x 3 root        root           3 Dec  8 08:36 ..
-rw-r--r-- 1 scovie_ynh scovie_ynh  460 Dec  8 08:39 gunicorn.conf.py
-rw-r--r-- 1 scovie_ynh scovie_ynh    0 Dec  8 08:39 local_settings.py
-rwxr-xr-x 1 scovie_ynh scovie_ynh  274 Dec  8 08:39 manage.py
-rw-r--r-- 1 scovie_ynh scovie_ynh  171 Dec  8 08:39 secret.txt
drwxr-xr-x 6 scovie_ynh scovie_ynh    6 Dec  8 08:37 venv
-rw-r--r-- 1 scovie_ynh scovie_ynh  115 Dec  8 08:39 wsgi.py
-rw-r--r-- 1 scovie_ynh scovie_ynh 4737 Dec  8 08:39 scovie_ynh_demo_settings.py

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

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

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

Documentation and resources

Developer info

Please send your pull request to the testing branch.

To try the testing branch, please proceed like that.

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

More info regarding app packaging: https://yunohost.org/packaging_apps