Exécuter sur un serveur
Celerp s'exécute toujours sur votre propre matériel – l'application de bureau transforme votre ordinateur en serveur en un clic. Ce guide concerne plutôt son exécution sur un serveur Linux distinct et toujours allumé (un VPS ou serveur domestique), pour que tout votre bureau puisse y accéder 24h/24. Le même chemin pip install celerp utilisé sur le bureau fonctionne sur n'importe quel serveur Linux.
Prérequis
- Python 3.11+
- Postgres 14+ (en cours d'exécution et accessible)
- Un utilisateur avec accès
sudo(nécessaire àcelerp initpour créer l'utilisateur et la base de données Postgres)
Installer et initialiser
pip install celerp
celerp init
celerp init est interactif. Il va :
- Demander une URL de connexion Postgres (ou accepter la valeur par défaut :
postgresql+asyncpg://celerp:celerp@localhost:5432/celerp) - Créer l'utilisateur et la base de données Postgres (via
sudo -u postgres psql) - Générer un secret JWT
- Exécuter les migrations
- Écrire un fichier de configuration (
~/.celerp/config.toml)
Démarrer le serveur
celerp start
Cela démarre deux processus :
- Serveur API sur le port
8000 - Serveur d'interface sur le port
8080
Ouvrez http://your-server-ip:8080 dans un navigateur pour accéder à Celerp.
Exécuter en tant que service systemd
Pour que Celerp continue de fonctionner après la déconnexion et démarre automatiquement au redémarrage :
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
Proxy inverse (nginx + HTTPS)
Pour exposer Celerp sur un domaine avec HTTPS, faites passer l'interface et l'API par 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;
}
Utilisez Certbot pour obtenir un certificat SSL gratuit.
Mise à niveau
celerp upgrade
Cela exécute pip install --upgrade celerp et applique automatiquement toute migration en attente.
Multi-utilisateur en réseau local
Si vous exécutez Celerp sur une machine de votre réseau local, les autres utilisateurs du même réseau peuvent y accéder depuis leur navigateur à l'adresse http://your-machine-ip:8080. Assurez-vous que votre pare-feu autorise les connexions entrantes sur les ports 8000 et 8080.