P4: Production hardening — reconnect, auto-scene-load, service cleanup
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
[Unit]
|
||||
Description=OPLabs Mixer Backend (FastAPI)
|
||||
Documentation=https://gitea.ourpad.casa/oplabs/oplabs-mixer-app
|
||||
After=network.target oplabs-mixer-daemon.service
|
||||
Wants=oplabs-mixer-daemon.service
|
||||
StartLimitBurst=5
|
||||
StartLimitIntervalSec=30
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=oplabs
|
||||
Group=oplabs
|
||||
WorkingDirectory=/home/oplabs/projects/oplabs-mixer-app/backend
|
||||
Environment=PATH=/home/oplabs/projects/oplabs-mixer-app/backend/venv/bin:/usr/local/bin:/usr/bin
|
||||
Environment=PYTHONUNBUFFERED=1
|
||||
|
||||
SyslogIdentifier=oplabs-mixer-backend
|
||||
|
||||
# Auth credentials from environment file (optional — create for HTTP Basic Auth)
|
||||
EnvironmentFile=-/etc/oplabs/mixer-backend.env
|
||||
|
||||
# Uncomment these to enable HTTP Basic Auth (for NPMplus reverse proxy):
|
||||
# Environment=MIXER_AUTH_ENABLED=true
|
||||
# Environment=MIXER_AUTH_USERNAME=oplabs
|
||||
# Environment=MIXER_AUTH_PASSWORD=your-password-here
|
||||
|
||||
ExecStart=/home/oplabs/projects/oplabs-mixer-app/backend/venv/bin/uvicorn app:app --host 0.0.0.0 --port 8081 --workers 2
|
||||
|
||||
# Exit code 143 (SIGTERM) is expected on clean shutdown — don't restart for that
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
|
||||
StandardOutput=journal
|
||||
StandardError=journal
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user