[Unit] Description=Audiofy – Website, Admin-Bereich und Player-API After=network-online.target Wants=network-online.target [Service] User={{AUDIOFY_USER}} Group={{AUDIOFY_USER}} WorkingDirectory={{AUDIOFY_DIR}}/app Environment=AUDIOFY_ENV={{AUDIOFY_DIR}}/.env ExecStart={{AUDIOFY_DIR}}/.venv/bin/uvicorn app.main:app --host 127.0.0.1 --port {{APP_PORT}} --workers 1 --no-access-log --proxy-headers --forwarded-allow-ips 127.0.0.1 Restart=always RestartSec=3 UMask=0077 # Härtung NoNewPrivileges=yes ProtectSystem=strict ProtectHome=yes ReadWritePaths={{AUDIOFY_DIR}}/data {{AUDIOFY_DIR}}/.env PrivateTmp=yes PrivateDevices=yes ProtectKernelTunables=yes ProtectKernelModules=yes ProtectControlGroups=yes RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX LockPersonality=yes MemoryMax=300M [Install] WantedBy=multi-user.target