[Unit] Description=Payroll T+ supervisor Wants=network-online.target After=network-online.target payroll-api.service PartOf=payroll-api.service [Service] Type=simple User=payroll Group=payroll WorkingDirectory=/opt/payroll/backend EnvironmentFile=/etc/payroll/payroll.env Environment=TZ=Asia/Shanghai Environment=PYTHONUNBUFFERED=1 ExecStart=/opt/payroll/backend/.venv/bin/python -m app.cli tplus-supervisor Restart=on-failure RestartSec=30 TimeoutStopSec=900 NoNewPrivileges=true ProtectSystem=strict ProtectHome=true PrivateTmp=true ReadWritePaths=/opt/payroll/backend/logs /opt/payroll/backend/uploads [Install] WantedBy=payroll-api.service