| # 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 |