# PezbridgeBot — example systemd unit. # Read-only allowance-renewal notifier: reads chain state and sends Telegram alerts when the # automation-key allowance needs a 3-of-5-signed renewal. Holds NO signing key and cannot submit # anything. Copy to /etc/systemd/system/, fill in , provide the Telegram token # ONLY via the EnvironmentFile below (never in the repo). [Unit] Description=PezbridgeBot - allowance renewal notifier (holds no key) After=network-online.target Wants=network-online.target [Service] Type=simple User= Group= WorkingDirectory= ExecStart=/pezbridge-bot Environment=PEZBRIDGE_CONFIG=/pezbridge_bot_config.json Environment=RUST_LOG=info EnvironmentFile=/telegram_token.env Restart=on-failure RestartSec=10 # Hardening (recommended baseline) NoNewPrivileges=yes ProtectSystem=strict ProtectHome=yes PrivateTmp=yes PrivateDevices=yes ProtectKernelTunables=yes ProtectKernelModules=yes ProtectKernelLogs=yes ProtectControlGroups=yes ProtectClock=yes ProtectHostname=yes RestrictSUIDSGID=yes RemoveIPC=yes LockPersonality=yes RestrictRealtime=yes RestrictNamespaces=yes MemoryDenyWriteExecute=yes SystemCallFilter=@system-service SystemCallArchitectures=native CapabilityBoundingSet= AmbientCapabilities= ReadWritePaths= UMask=0077 [Install] WantedBy=multi-user.target