Active · Network Monitor
Smokeping Docker Stack

With Smart Telegram Alerts · Revamped

A fully containerized Smokeping environment tailored for reliable network monitoring. Bundles the core Smokeping daemon, Apache2 web UI, a custom geolocation-aware Telegram alerting system, and sidecar containers for secure remote management via Cloudflare and Tailscale.

⚡ Optimized for Game Servers & CDNs
📡

Standard Polling

Configured for default 300-second steps and 20 pings per step to establish a reliable latency baseline.

🤖

Smart Telegram Alerts

Custom script parses RTT/loss data and routes detailed alerts — power down, host down, latency spikes — with emoji headers and ipinfo.io geolocation tags.

🔒

Zero-Trust Access

cloudflared exposes the web UI without opening inbound ports. tailscale handles private SSH/backend access.

💾

Persistent Storage

RRD database files are mounted to a local Docker volume so historical graphs survive container rebuilds.

Telegram Bot Token & Chat ID required
Cloudflare Tunnel Token required
Tailscale Auth Key optional
smokeping-docker/
  │
  ├── Dockerfile
  ├── start.sh
  ├── smokeping-telegram-alert.sh
  ├── docker-compose.yml
  │
  └── config/
      ├── Targets    ← Add your custom ping targets here
      ├── Alerts     ← Alert thresholds and check alert name
      └── Database  ← Limits (step=300, pings=20)
01

Clone the Repository

Download the project files and navigate into the directory.

$ git clone https://github.com/Xeesan/smokeping-docker.git
$ cd smokeping-docker
02

Configure Telegram Alerts

Open smokeping-telegram-alert.sh and input your credentials.

BOT_TOKEN="your_telegram_bot_token"
CHAT_ID="your_telegram_chat_id"
03

Add Zero-Trust Credentials

Open docker-compose.yml and paste your access keys. Comment out services you're not using.

TUNNEL_TOKEN=your_cloudflare_tunnel_token
TS_AUTHKEY=your_tailscale_auth_key
04

Define Your Targets

Open config/Targets and add your IPs, game servers, or web hosts following the Smokeping syntax.

05

Deploy the Stack

Build the custom image and spin up all sidecars in the background.

$ docker-compose up -d --build
⚠️ Permissions Issue
If Smokeping fails to write graph data, it's likely a mounted volume permission error. start.sh attempts to fix this on boot, but check host directory permissions if mapping to a local folder instead of a Docker volume.
🔕 Alerts Not Firing
Exec into the container and test the script manually to ensure curl and jq are hitting the APIs properly.
$ docker exec -it smokeping_core bash
$ /usr/local/bin/smokeping-telegram-alert.sh "test_target" "loss" "100%"