Run on a server
Celerp always runs on your own hardware - the desktop app turns your computer into the server in one click. This guide is for running it on a separate, always-on Linux server (a VPS or home server) instead, so your whole office can reach it around the clock. The same pip install celerp path used on the desktop works on any Linux server.
Requirements
- Python 3.11+
- Postgres 14+ (running and accessible)
- A user with
sudoaccess (needed bycelerp initto create the Postgres user and database)
Install & Initialize
pip install celerp
celerp init
celerp init is interactive. It will:
- Ask for a Postgres connection URL (or accept the default:
postgresql+asyncpg://celerp:celerp@localhost:5432/celerp) - Create the Postgres user and database (via
sudo -u postgres psql) - Generate a JWT secret
- Run migrations
- Write a config file (
~/.celerp/config.toml)
Start the Server
celerp start
This starts two processes:
- API server on port
8000 - UI server on port
8080
Open http://your-server-ip:8080 in a browser to access Celerp.
Run as a systemd Service
To keep Celerp running after logout and auto-start on reboot:
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)
To expose Celerp on a domain with HTTPS, proxy both the UI and API through 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;
}
Use Certbot to obtain a free SSL certificate.
Upgrading
celerp upgrade
This runs pip install --upgrade celerp and applies any pending migrations automatically.
LAN Multi-User
If you run Celerp on a machine on your local network, other users on the same network can access it from their browser at http://your-machine-ip:8080. Make sure your firewall allows inbound connections on ports 8000 and 8080.