[Unit] Description=Ping River Monitor (Rust: collection, forecast, ntfy/Matrix, website/API) Documentation=https://git.b4l.co.th/B4L/Northern-Thailand-Ping-River-Monitor/src/branch/master/rust After=network-online.target Wants=network-online.target [Service] Type=simple User=water-monitor Group=water-monitor WorkingDirectory=/opt/thailand-water-monitor ExecStart=/opt/thailand-water-monitor/bin/ping-collector run Restart=always RestartSec=30 TimeoutStopSec=20 # Same .env as water-monitor.service (POSTGRES_*, RID_*, GAP_FILL_*, # SCRAPING_STATUS_FILE, FORECAST_IN_COLLECTOR, NTFY_*). The Python app must run # with COLLECTION_ENABLED=false. Models are read from models/ (relative to # WorkingDirectory). EnvironmentFile=/opt/thailand-water-monitor/.env # Security settings NoNewPrivileges=true PrivateTmp=true ProtectSystem=strict ProtectHome=true ReadWritePaths=/opt/thailand-water-monitor CapabilityBoundingSet= # collection + 15 models ~100 MB, response caches up to ~100 MB more MemoryMax=512M StandardOutput=journal StandardError=journal SyslogIdentifier=ping-collector [Install] WantedBy=multi-user.target