2018-04-17 00:02:25 +02:00
|
|
|
[Unit]
|
2021-04-24 13:05:22 +02:00
|
|
|
Description=__APP__ application server
|
2018-04-17 00:02:25 +02:00
|
|
|
After=redis.service postgresql.service
|
|
|
|
PartOf=__APP__.target
|
|
|
|
|
|
|
|
[Service]
|
|
|
|
User=__APP__
|
2023-03-24 12:21:19 +01:00
|
|
|
WorkingDirectory=__INSTALL_DIR__/api
|
|
|
|
EnvironmentFile=__INSTALL_DIR__/config/.env
|
2023-06-15 14:03:02 +02:00
|
|
|
|
|
|
|
Type=notify
|
|
|
|
KillMode=mixed
|
|
|
|
ExecStart=__INSTALL_DIR__/venv/bin/gunicorn \
|
|
|
|
config.asgi:application \
|
|
|
|
--workers ${FUNKWHALE_WEB_WORKERS} \
|
|
|
|
--worker-class uvicorn.workers.UvicornWorker \
|
|
|
|
--bind ${FUNKWHALE_API_IP}:${FUNKWHALE_API_PORT}
|
2023-06-15 14:14:21 +02:00
|
|
|
--timeout 120
|
2023-06-15 14:03:02 +02:00
|
|
|
ExecReload=/bin/kill -s HUP $MAINPID
|
|
|
|
|
2018-10-21 11:15:08 +02:00
|
|
|
|
2023-04-03 20:27:29 +02:00
|
|
|
# Denying access to capabilities that should not be relevant for webapps
|
|
|
|
# Doc: https://man7.org/linux/man-pages/man7/capabilities.7.html
|
|
|
|
CapabilityBoundingSet=~CAP_RAWIO CAP_MKNOD
|
|
|
|
CapabilityBoundingSet=~CAP_AUDIT_CONTROL CAP_AUDIT_READ CAP_AUDIT_WRITE
|
|
|
|
CapabilityBoundingSet=~CAP_SYS_BOOT CAP_SYS_TIME CAP_SYS_MODULE CAP_SYS_PACCT
|
|
|
|
CapabilityBoundingSet=~CAP_LEASE CAP_LINUX_IMMUTABLE CAP_IPC_LOCK
|
|
|
|
CapabilityBoundingSet=~CAP_BLOCK_SUSPEND CAP_WAKE_ALARM
|
|
|
|
CapabilityBoundingSet=~CAP_SYS_TTY_CONFIG
|
|
|
|
CapabilityBoundingSet=~CAP_MAC_ADMIN CAP_MAC_OVERRIDE
|
|
|
|
CapabilityBoundingSet=~CAP_NET_ADMIN CAP_NET_BROADCAST CAP_NET_RAW
|
|
|
|
CapabilityBoundingSet=~CAP_SYS_ADMIN CAP_SYS_PTRACE CAP_SYSLOG
|
|
|
|
|
2018-04-17 00:02:25 +02:00
|
|
|
[Install]
|
2019-10-31 18:25:28 +01:00
|
|
|
WantedBy=multi-user.target
|