Installazione
Prerequisiti
- Nix con flakes abilitati
- Un web server con supporto SCGI (nginx, lighttpd, ecc.) per il deployment in produzione
Compilazione da Sorgente
Clona il repository ed entra nella shell di sviluppo:
git clone https://github.com/paolino/reactivegas.git
cd reactivegas
nix develop
Compila il server:
cabal build server
Esecuzione del Server
Uso Base
Avvia il server con una directory dati e password di amministrazione:
cabal run server -- /percorso/dati password
Con Opzioni Personalizzate
cabal run server -- \
--port 8080 \
--sessions 100 \
--movements 20 \
--memories 30 \
/percorso/dati password
Riferimento Riga di Comando
| Opzione | Breve | Default | Descrizione |
|---|---|---|---|
--port |
-p |
5000 | Porta del server SCGI |
--movements |
-m |
15 | Max movimenti di gruppo in memoria |
--sessions |
-s |
200 | Max sessioni in memoria |
--memories |
-r |
20 | Max ricordi per sessione |
Argomenti posizionali:
DIRECTORY- Directory di lavoro contenente i dati del gruppoPASSWORD- Password di amministrazione per l'accesso ai token
Struttura Directory
La directory di lavoro deve essere organizzata come segue:
dati/
├── static/ # Asset web statici
│ └── report.html # Report generati
├── *.db # Database SQLite per dati storici
└── state/ # File di stato corrente
Configurazione Web Server
Il server usa il protocollo SCGI. Configura il tuo web server per fare proxy delle richieste:
Esempio Nginx
location /reactivegas {
include scgi_params;
scgi_pass 127.0.0.1:5000;
}
Esempio Lighttpd
server.modules += ("mod_scgi")
scgi.server = (
"/reactivegas" => ((
"host" => "127.0.0.1",
"port" => 5000
))
)