[Unit] Description=Vacuum Wall Management WebUI Documentation=https://github.com/wall/vacuum-wall Requires=vacuum-walld.service After=network.target firewalld.service nginx.service dnsmasq.service vacuum-walld.service Wants=firewalld.service [Service] Type=simple User={{ USER_NAME }} Group={{ USER_GROUP }} WorkingDirectory={{ PROJECT_DIR }} ExecStart={{ PROJECT_DIR }}/.venv/bin/python webui/server.py Restart=on-failure RestartSec=5 Environment=PATH=/usr/local/bin:/usr/bin Environment=PYTHONUNBUFFERED=1 Environment=ACME_HOME={{ PROJECT_DIR }}/data/acme Environment=HOME={{ PROJECT_DIR }} # Security hardening NoNewPrivileges=yes ProtectSystem=strict ReadWritePaths={{ PROJECT_DIR }} {{ PROJECT_DIR }}/config {{ PROJECT_DIR }}/data /tmp PrivateTmp=yes ProtectKernelTunables=yes ProtectKernelModules=yes ProtectControlGroups=yes ProtectHostname=yes RestrictSUIDSGID=yes MemoryDenyWriteExecute=yes RestrictRealtime=yes RestrictNamespaces=yes LockPersonality=yes SystemCallFilter=@system-service PrivateDevices=yes RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 IPAddressDeny=any IPAddressAllow=localhost [Install] WantedBy=multi-user.target