Esecuzione su un server
Celerp gira sempre sul tuo hardware: l'app desktop trasforma il tuo computer in server con un clic. Questa guida riguarda invece l'esecuzione su un server Linux separato e sempre acceso (un VPS o un server domestico), così tutto l'ufficio può raggiungerlo 24 ore su 24. Lo stesso pip install celerp usato sul desktop funziona su qualsiasi server Linux.
Requisiti
- Python 3.11+
- Postgres 14+ (in esecuzione e accessibile)
- Un utente con accesso
sudo(necessario acelerp initper creare l'utente e il database Postgres)
Installazione e inizializzazione
pip install celerp
celerp init
celerp init è interattivo. Si occuperà di:
- Chiedere un URL di connessione Postgres (o accettare il valore predefinito:
postgresql+asyncpg://celerp:celerp@localhost:5432/celerp) - Creare l'utente e il database Postgres (tramite
sudo -u postgres psql) - Generare un secret JWT
- Eseguire le migrazioni
- Scrivere un file di configurazione (
~/.celerp/config.toml)
Avviare il server
celerp start
Questo avvia due processi:
- Server API sulla porta
8000 - Server UI sulla porta
8080
Apri http://your-server-ip:8080 in un browser per accedere a Celerp.
Eseguire come servizio systemd
Per tenere Celerp in esecuzione dopo il logout e avviarlo automaticamente al riavvio:
sudo tee /etc/systemd/system/celerp.service <<EOF
[Unit]
Description=Celerp ERP
After=network.target postgresql.service
[Service]
Type=simple
User=$USER
ExecStart=$(which celerp) start
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now celerp
Reverse Proxy (nginx + HTTPS)
Per esporre Celerp su un dominio con HTTPS, fai da proxy sia all'interfaccia sia all'API tramite nginx:
server {
server_name erp.yourdomain.com;
# UI
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
}
# API
location /api/ {
proxy_pass http://localhost:8000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
}
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/erp.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/erp.yourdomain.com/privkey.pem;
}
Usa Certbot per ottenere un certificato SSL gratuito.
Aggiornamento
celerp upgrade
Questo comando esegue pip install --upgrade celerp e applica automaticamente le migrazioni in sospeso.
Multiutenza in LAN
Se esegui Celerp su una macchina della tua rete locale, gli altri utenti della stessa rete possono raggiungerlo dal browser su http://your-machine-ip:8080. Assicurati che il firewall consenta le connessioni in entrata sulle porte 8000 e 8080.