Netdata.cloud bot for Zulip
1[Unit] 2Description=Netdata Zulip Bot - Webhook service for Netdata Cloud notifications 3After=network.target network-online.target 4Wants=network-online.target 5 6[Service] 7Type=simple 8User=netdata-bot 9Group=netdata-bot 10WorkingDirectory=/opt/netdata-zulip-bot 11Environment=PATH=/opt/netdata-zulip-bot/.venv/bin:/usr/local/bin:/usr/bin:/bin 12 13# Server configuration 14Environment=SERVER_DOMAIN=your-webhook-domain.com 15Environment=SERVER_HOST=0.0.0.0 16Environment=SERVER_PORT=8443 17Environment=SERVER_CERT_PATH=/etc/letsencrypt/live 18Environment=SERVER_ENABLE_MTLS=true 19 20# Zulip configuration (if using environment variables instead of zuliprc) 21# Environment=ZULIP_SITE=https://yourorg.zulipchat.com 22# Environment=ZULIP_EMAIL=netdata-bot@yourorg.zulipchat.com 23# Environment=ZULIP_API_KEY=your-api-key 24# Environment=ZULIP_STREAM=netdata-alerts 25 26ExecStart=/opt/netdata-zulip-bot/.venv/bin/netdata-zulip-bot 27ExecReload=/bin/kill -HUP $MAINPID 28 29# Security settings 30NoNewPrivileges=true 31PrivateTmp=true 32ProtectSystem=strict 33ProtectHome=true 34ReadWritePaths=/opt/netdata-zulip-bot 35ReadOnlyPaths=/etc/letsencrypt/live 36 37# Resource limits 38LimitNOFILE=65536 39MemoryHigh=256M 40MemoryMax=512M 41 42# Restart settings 43Restart=always 44RestartSec=5 45StartLimitInterval=60 46StartLimitBurst=3 47 48# Logging 49StandardOutput=journal 50StandardError=journal 51SyslogIdentifier=netdata-zulip-bot 52 53[Install] 54WantedBy=multi-user.target