[Unit] Description=CheckPoint Ehrenamt (gunicorn) After=network.target [Service] # Eigener, nicht privilegierter Nutzer (siehe DEPLOY.md). User=checkpoint Group=checkpoint WorkingDirectory=/opt/checkpoint # Geheimnisse + CP_ENV kommen aus der Datei (nicht im Git): SECRET_KEY, CP_ENV. EnvironmentFile=/opt/checkpoint/.env ExecStart=/opt/checkpoint/.venv/bin/gunicorn -c gunicorn.conf.py wsgi:app Restart=on-failure RestartSec=3 # Etwas Härtung des Dienstes. NoNewPrivileges=true PrivateTmp=true ProtectSystem=full ReadWritePaths=/opt/checkpoint/instance [Install] WantedBy=multi-user.target