Auf einem Server betreiben

Celerp läuft immer auf Ihrer eigenen Hardware – die Desktop-App macht Ihren Rechner mit einem Klick zum Server. Diese Anleitung beschreibt stattdessen den Betrieb auf einem separaten, dauerhaft laufenden Linux-Server (VPS oder Heimserver), damit Ihr ganzes Büro rund um die Uhr darauf zugreifen kann. Derselbe Weg über pip install celerp wie auf dem Desktop funktioniert auf jedem Linux-Server.

Voraussetzungen

  • Python 3.11+
  • Postgres 14+ (läuft und erreichbar)
  • Ein Konto mit sudo-Rechten (nötig, damit celerp init das Postgres-Konto und die Datenbank anlegen kann)

Installieren & Initialisieren

pip install celerp
celerp init

celerp init läuft interaktiv ab. Der Befehl wird:

  • nach einer Postgres-Verbindungs-URL fragen (oder den Standard übernehmen: postgresql+asyncpg://celerp:celerp@localhost:5432/celerp)
  • das Postgres-Konto und die Datenbank anlegen (über sudo -u postgres psql)
  • ein JWT-Secret erzeugen
  • Migrationen ausführen
  • eine Konfigurationsdatei schreiben (~/.celerp/config.toml)

Den Server starten

celerp start

Dies startet zwei Prozesse:

  • API-Server auf Port 8000
  • UI-Server auf Port 8080

Öffnen Sie http://your-server-ip:8080 in einem Browser, um auf Celerp zuzugreifen.

Als systemd-Dienst betreiben

Damit Celerp nach dem Abmelden weiterläuft und beim Neustart automatisch hochfährt:

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)

Um Celerp unter einer Domain mit HTTPS bereitzustellen, leiten Sie Oberfläche und API über nginx weiter:

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;
}

Mit Certbot erhalten Sie ein kostenloses SSL-Zertifikat.

Aktualisieren

celerp upgrade

Das führt pip install --upgrade celerp aus und wendet ausstehende Migrationen automatisch an.

LAN-Mehrbenutzerbetrieb

Wenn Sie Celerp auf einem Rechner in Ihrem lokalen Netz betreiben, erreichen ihn alle anderen im selben Netz im Browser unter http://your-machine-ip:8080. Achten Sie darauf, dass Ihre Firewall eingehende Verbindungen auf den Ports 8000 und 8080 zulässt.