feat: add systemd service templates for API and Web Dashboard
Some checks failed
CI / Lint (ruff) (push) Successful in 15s
CI / Test (pytest) (3.11) (push) Failing after 21s
CI / Test (pytest) (3.12) (push) Failing after 22s
CI / SAST (bandit) (push) Failing after 13s
CI / Dependency audit (pip-audit) (push) Successful in 19s
CI / Open PR to main (push) Has been skipped
Some checks failed
CI / Lint (ruff) (push) Successful in 15s
CI / Test (pytest) (3.11) (push) Failing after 21s
CI / Test (pytest) (3.12) (push) Failing after 22s
CI / SAST (bandit) (push) Failing after 13s
CI / Dependency audit (pip-audit) (push) Successful in 19s
CI / Open PR to main (push) Has been skipped
This commit is contained in:
29
deploy/decnet-api.service
Normal file
29
deploy/decnet-api.service
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=DECNET API Service
|
||||||
|
After=network.target docker.service
|
||||||
|
Requires=docker.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=decnet
|
||||||
|
Group=decnet
|
||||||
|
WorkingDirectory=/path/to/DECNET
|
||||||
|
# Ensure environment is loaded from the .env file
|
||||||
|
EnvironmentFile=/path/to/DECNET/.env
|
||||||
|
# Use the virtualenv python to run the decnet api command
|
||||||
|
ExecStart=/path/to/DECNET/.venv/bin/decnet api
|
||||||
|
|
||||||
|
# Capabilities required to manage MACVLAN interfaces and network links without root
|
||||||
|
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_RAW
|
||||||
|
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_RAW
|
||||||
|
|
||||||
|
# Security Hardening
|
||||||
|
NoNewPrivileges=yes
|
||||||
|
ProtectSystem=full
|
||||||
|
ProtectHome=read-only
|
||||||
|
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=5
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
30
deploy/decnet-web.service
Normal file
30
deploy/decnet-web.service
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=DECNET Web Dashboard Service
|
||||||
|
After=network.target decnet-api.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=decnet
|
||||||
|
Group=decnet
|
||||||
|
WorkingDirectory=/path/to/DECNET
|
||||||
|
# Ensure environment is loaded from the .env file
|
||||||
|
EnvironmentFile=/path/to/DECNET/.env
|
||||||
|
# Use the virtualenv python to run the decnet web command
|
||||||
|
ExecStart=/path/to/DECNET/.venv/bin/decnet web
|
||||||
|
|
||||||
|
# The Web Dashboard service does not require network administration privileges.
|
||||||
|
# Enable the following lines if you wish to bind the Dashboard to a privileged port (e.g., 80 or 443)
|
||||||
|
# while still running as a non-root user.
|
||||||
|
# CapabilityBoundingSet=CAP_NET_BIND_SERVICE
|
||||||
|
# AmbientCapabilities=CAP_NET_BIND_SERVICE
|
||||||
|
|
||||||
|
# Security Hardening
|
||||||
|
NoNewPrivileges=yes
|
||||||
|
ProtectSystem=full
|
||||||
|
ProtectHome=read-only
|
||||||
|
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=5
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
Reference in New Issue
Block a user