[Unit]
Description=Funkwhale application server
After=redis.service postgresql.service
Wants=funkwhale_{{ funkwhale_id }}-worker.service funkwhale_{{ funkwhale_id }}-beat.service

[Service]
User={{ funkwhale_user }}
WorkingDirectory={{ funkwhale_root_dir }}/api
EnvironmentFile={{ funkwhale_root_dir }}/config/.env
ExecStart={{ funkwhale_root_dir }}/venv/bin/gunicorn config.asgi:application -w ${FUNKWHALE_WEB_WORKERS} -k uvicorn.workers.UvicornWorker -b ${FUNKWHALE_API_IP}:${FUNKWHALE_API_PORT}
PrivateTmp=yes
PrivateDevices=yes
ProtectSystem=full
ProtectHome=yes
NoNewPrivileges=yes
MemoryLimit=1024M
SyslogIdentifier=funkwhale_{{ funkwhale_id }}-server
Restart=on-failure
StartLimitInterval=0
RestartSec=30

[Install]
WantedBy=multi-user.target
