blob: f87bbb843a091f88c96f29d72fab9838090a7cbe [file] [log] [blame]
# systemd-Unit für den ÄndGgner-Webserver.
#
# Installation (Beispiel):
# sudo cp deploy/aendggner-web.service /etc/systemd/system/
# sudo useradd --system --home /opt/aendggner --shell /usr/sbin/nologin aendggner
# sudo cp -r . /opt/aendggner && sudo chown -R aendggner:aendggner /opt/aendggner
# sudo systemctl daemon-reload
# sudo systemctl enable --now aendggner-web
#
# Erwartet, dass zuvor "mvn package" gelaufen ist, sodass target/aendggner-*.jar
# und target/libs/* existieren.
[Unit]
Description=AendGgner Web-App
After=network.target
[Service]
Type=simple
User=aendggner
Group=aendggner
WorkingDirectory=/opt/aendggner
ExecStart=/bin/sh -c 'exec java -cp "target/aendggner-*.jar:target/libs/*" eu.mulk.aendggner.web.WebMain'
Environment=AENDGGNER_WEB_PORT=8080
Environment=AENDGGNER_WEB_BIND=127.0.0.1
Restart=on-failure
RestartSec=5
# Ressourcen-Obergrenzen: hält den Dienst auf einem kleinen Server in Schach,
# selbst wenn die Anwendungs- und Proxy-seitigen Limits einmal nicht greifen.
MemoryMax=512M
CPUQuota=150%
TasksMax=128
# Härtung
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
[Install]
WantedBy=multi-user.target