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
19Environment=SERVER_CLIENT_CA_PATH=/etc/ssl/certs/netdata-ca.pem
20
21# Zulip configuration (if using environment variables instead of zuliprc)
22# Environment=ZULIP_SITE=https://yourorg.zulipchat.com
23# Environment=ZULIP_EMAIL=netdata-bot@yourorg.zulipchat.com
24# Environment=ZULIP_API_KEY=your-api-key
25# Environment=ZULIP_STREAM=netdata-alerts
26
27ExecStart=/opt/netdata-zulip-bot/.venv/bin/netdata-zulip-bot
28ExecReload=/bin/kill -HUP $MAINPID
29
30# Security settings
31NoNewPrivileges=true
32PrivateTmp=true
33ProtectSystem=strict
34ProtectHome=true
35ReadWritePaths=/opt/netdata-zulip-bot
36ReadOnlyPaths=/etc/letsencrypt/live
37
38# Resource limits
39LimitNOFILE=65536
40MemoryHigh=256M
41MemoryMax=512M
42
43# Restart settings
44Restart=always
45RestartSec=5
46StartLimitInterval=60
47StartLimitBurst=3
48
49# Logging
50StandardOutput=journal
51StandardError=journal
52SyslogIdentifier=netdata-zulip-bot
53
54[Install]
55WantedBy=multi-user.target