| Matthias Andreas Benkard | 7b455cd | 2026-08-09 08:33:37 +0200 | [diff] [blame] | 1 | # systemd-Unit für den ÄndGgner-Webserver. |
| 2 | # |
| 3 | # Installation (Beispiel): |
| 4 | # sudo cp deploy/aendggner-web.service /etc/systemd/system/ |
| 5 | # sudo useradd --system --home /opt/aendggner --shell /usr/sbin/nologin aendggner |
| 6 | # sudo cp -r . /opt/aendggner && sudo chown -R aendggner:aendggner /opt/aendggner |
| 7 | # sudo systemctl daemon-reload |
| 8 | # sudo systemctl enable --now aendggner-web |
| 9 | # |
| 10 | # Erwartet, dass zuvor "mvn package" gelaufen ist, sodass target/aendggner-*.jar |
| 11 | # und target/libs/* existieren. |
| 12 | |
| 13 | [Unit] |
| 14 | Description=AendGgner Web-App |
| 15 | After=network.target |
| 16 | |
| 17 | [Service] |
| 18 | Type=simple |
| 19 | User=aendggner |
| 20 | Group=aendggner |
| 21 | WorkingDirectory=/opt/aendggner |
| 22 | ExecStart=/bin/sh -c 'exec java -cp "target/aendggner-*.jar:target/libs/*" eu.mulk.aendggner.web.WebMain' |
| 23 | Environment=AENDGGNER_WEB_PORT=8080 |
| 24 | Environment=AENDGGNER_WEB_BIND=127.0.0.1 |
| 25 | Restart=on-failure |
| 26 | RestartSec=5 |
| 27 | |
| 28 | # Ressourcen-Obergrenzen: hält den Dienst auf einem kleinen Server in Schach, |
| 29 | # selbst wenn die Anwendungs- und Proxy-seitigen Limits einmal nicht greifen. |
| 30 | MemoryMax=512M |
| 31 | CPUQuota=150% |
| 32 | TasksMax=128 |
| 33 | |
| 34 | # Härtung |
| 35 | NoNewPrivileges=true |
| 36 | PrivateTmp=true |
| 37 | ProtectSystem=strict |
| 38 | ProtectHome=true |
| 39 | |
| 40 | [Install] |
| 41 | WantedBy=multi-user.target |