From 74d38b36a9b2e30249ffe223ebf2724475939e88 Mon Sep 17 00:00:00 2001 From: nkoexe Date: Tue, 24 Sep 2024 18:50:17 +0200 Subject: [PATCH] init install docs --- docs/images/scuolasync.svg | 76 +++++++++++++++++++ docs/index.html | 10 ++- docs/installazione/display.md | 6 +- docs/installazione/server.md | 138 ++++++++++++++++++++++++++++++++++ docs/sidebar.md | 1 + 5 files changed, 225 insertions(+), 6 deletions(-) create mode 100644 docs/images/scuolasync.svg create mode 100644 docs/installazione/server.md diff --git a/docs/images/scuolasync.svg b/docs/images/scuolasync.svg new file mode 100644 index 0000000..c80838d --- /dev/null +++ b/docs/images/scuolasync.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index bdc2f6b..e4aaf48 100644 --- a/docs/index.html +++ b/docs/index.html @@ -83,15 +83,16 @@ fill: var(--base-color); } - /* @media (prefers-color-scheme: dark) { + @media (prefers-color-scheme: dark) { .app-name { - filter: hue-rotate(0.5turn) brightness(1.7) invert(1); + filter: hue-rotate(0.5turn) brightness(2) invert(1); } - }*/ + } + + + \ No newline at end of file diff --git a/docs/installazione/display.md b/docs/installazione/display.md index e47aaeb..cc685ca 100644 --- a/docs/installazione/display.md +++ b/docs/installazione/display.md @@ -38,7 +38,7 @@ eseguire il login Crea il file `/etc/systemd/sleep.conf.d/nosuspend.conf` -```conf +```ini [Sleep] AllowSuspend=no AllowHibernation=no @@ -49,7 +49,7 @@ AllowHybridSleep=no Se utilizzando un laptop, previeni la sospensione quando si abbassa lo schermo. Modifica il file `/etc/systemd/logind.conf`: -```conf +```ini [Login] HandleLidSwitch=ignore HandleLidSwitchDocked=ignore @@ -93,7 +93,7 @@ Creazione file di configurazione di lightdm per il login automatico all'accensio `/etc/lightdm/lightdm.conf` Impostare `UTENTE` allo username effettivo. -```conf +```ini [SeatDefaults] autologin-user=UTENTE user-session=openbox diff --git a/docs/installazione/server.md b/docs/installazione/server.md new file mode 100644 index 0000000..ed0e615 --- /dev/null +++ b/docs/installazione/server.md @@ -0,0 +1,138 @@ +# 🖥️ Server + +Installazione del server di sistema. + + +## Introduzione + +server scuolasync + +## Requisiti + +* connessione internet +* un server linux +* python 3.11 o superiore +* boh di spazio + +## Installazione + +Clona il repository + +```sh +git clone https://github.com/nkoexe/scuolasync.git +cd scuolasync +``` + +Creare un virtualenv + +```sh +python -m venv env +source env/bin/activate +``` + +Installa le dipendenze + +```sh +pip install -r requirements.txt +``` + +Oppure installando manualmente le dipendenze + +```sh +pip install flask flask-login flask-socketio flask-wtf beartype apscheduler pandas openpyxl xlsxwriter odspy pylibmagic python-magic oauthlib google-auth google-api-python-client qrcode gunicorn gevent +``` + +Esegui lo script di setup + +```sh +python -m sostituzioni.setup +``` + +Creazione servizio systemd `scuolasync.service` + +```sh +nano /etc/systemd/system/scuolasync.service +``` + +Assicurarsi di sostituire gli attributi correttamente: + - `` e `` con il nome utente e gruppo corretto + - `` con il percorso del repository + - `` con il percorso dell'ambiente virtuale di python + + +```systemd +[Unit] +Description=ScuolaSync - Server +After=network.target + +[Service] +Type=simple +User= +Group= +WorkingDirectory= +Environment=PATH=/bin:/usr/bin +Environment=SCUOLASYNC_SERVICE=scuolasync.service +ExecStart=/bin/gunicorn --workers 1 -k gevent --bind 127.0.0.1:5123 sostituzioni.app:app +Restart=always +RestartSec=1 + +[Install] +WantedBy=multi-user.target +``` + +Esempio: + +```systemd +[Unit] +Description=ScuolaSync - Server +After=network.target + +[Service] +Type=simple +User=scuolasync +Group=www-data +WorkingDirectory=/scuolasync +Environment=PATH=/scuolasync/env/bin:/usr/bin +Environment=SCUOLASYNC_SERVICE=scuolasync.service +ExecStart=/scuolasync/env/bin/gunicorn --workers 1 -k gevent --bind 127.0.0.1:5123 sostituzioni.app:app +Restart=always +RestartSec=1 + +[Install] +WantedBy=multi-user.target + +[Service] +WorkingDirectory=/home/scuolasync +ExecStart=/usr/bin/python -m sostituzioni +``` + +Abilita il servizio allo startup + +```sh +systemctl daemon-reload +systemctl enable scuolasync.service +``` + +Configurazione nginx + +```sh +nano /etc/nginx/sites-available/scuolasync +``` + +Assicurarsi di sostituire gli attributi correttamente: + - `` con il nome del server web (esempio: `scuolasync.fuss.bz.it`) + +```nginx +server { + listen 80; + server_name ; + + location / { + proxy_pass http://127.0.0.1:5123; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } +} +``` \ No newline at end of file diff --git a/docs/sidebar.md b/docs/sidebar.md index 318b64f..d8e66ca 100644 --- a/docs/sidebar.md +++ b/docs/sidebar.md @@ -1,4 +1,5 @@ * [⭐ ScuolaSync](README.md) * [⚒️ Installazione](installazione/README.md) + * [🖥️ Server](installazione/server.md) * [📺 Display](installazione/display.md) * [⁉ FAQ](faq.md)