[Unit] Description=OAMC Turnierauswertung (FastAPI/uvicorn) After=network-online.target postgresql.service Wants=network-online.target [Service] Type=exec User=oamc Group=oamc EnvironmentFile=/etc/oamc-turnier/oamc-turnier.env WorkingDirectory=/opt/oamc-turnier # Migrationen vor dem Start (idempotent) ExecStartPre=/opt/oamc-turnier/venv/bin/alembic -c /opt/oamc-turnier/alembic.ini upgrade head ExecStart=/opt/oamc-turnier/venv/bin/uvicorn oamc.main:app \ --host 127.0.0.1 --port 8000 --proxy-headers --forwarded-allow-ips '*' Restart=on-failure RestartSec=3 # Haertung NoNewPrivileges=true ProtectSystem=strict ProtectHome=true PrivateTmp=true ReadWritePaths=/var/oamc StateDirectory=oamc-turnier RuntimeDirectory=oamc-turnier [Install] WantedBy=multi-user.target