Files
RustProxy/debian/rustproxy.service
T
2026-10-03 00:27:09 +01:00

56 lines
1.4 KiB
Desktop File

[Unit]
Description=RustProxy reverse proxy
Documentation=https://rustproxy.linuxiarz.pl
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
User=rustproxy
Group=rustproxy
WorkingDirectory=/var/lib/rustproxy
Environment=MALLOC_ARENA_MAX=2
EnvironmentFile=-/etc/rustproxy/environment
ExecStart=/usr/bin/rust-proxy serve
Restart=on-failure
RestartSec=3s
KillSignal=SIGINT
KillMode=control-group
TimeoutStopSec=120s
UMask=0027
# Bind 80/443 without running the service as root.
AmbientCapabilities=CAP_NET_BIND_SERVICE
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
NoNewPrivileges=true
# Runtime filesystem policy. Diagnostics intentionally retain normal /proc access.
StateDirectory=rustproxy
StateDirectoryMode=0750
LogsDirectory=rustproxy
LogsDirectoryMode=0750
RuntimeDirectory=rustproxy
RuntimeDirectoryMode=0750
ReadWritePaths=/var/lib/rustproxy /var/log/rustproxy
ProtectSystem=strict
ProtectHome=true
PrivateTmp=true
PrivateDevices=true
ProtectKernelTunables=true
ProtectKernelModules=true
ProtectKernelLogs=true
ProtectControlGroups=true
LockPersonality=true
RestrictRealtime=true
RestrictSUIDSGID=true
RestrictNamespaces=true
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
SystemCallArchitectures=native
# High enough for many frontend/upstream sockets without removing all limits.
LimitNOFILE=65536
TasksMax=4096
[Install]
WantedBy=multi-user.target