A lightweight, self-hosted uptime monitoring service
2.0K
A lightweight, self-hosted uptime monitoring service — similar to Uptime Kuma.
Monitor your websites, APIs, and services with HTTP, TCP, and Ping checks. Get real-time status updates via WebSocket and push notifications on your Android device.
docker run -d \
--name vigil \
-p 8080:8080 \
-v vigil-data:/data \
-e VIGIL_JWT_SECRET=your-secret-here \
bhoopendrau004/vigil:latest
Then open http://localhost:8080 — you'll be prompted to create an admin account on first launch.
services:
vigil:
image: bhoopendrau004/vigil:latest
ports:
- "8080:8080"
volumes:
- vigil-data:/data
environment:
- VIGIL_JWT_SECRET=change-me-in-production
restart: unless-stopped
volumes:
vigil-data:
| Variable | Default | Description |
|---|---|---|
VIGIL_PORT | 8080 | HTTP server port |
VIGIL_DB_PATH | /data/vigil.db | SQLite database file path |
VIGIL_JWT_SECRET | change-me-in-production | JWT signing secret (change this!) |
VIGIL_JWT_EXPIRY | 24h | JWT token lifetime |
VIGIL_ADMIN_PASSWORD | (optional) | Auto-create admin user on first run |
VIGIL_RETENTION_DAYS | 90 | Heartbeat data retention in days |
VIGIL_FCM_CREDENTIALS | (optional) | Path to Firebase service account JSON |
VIGIL_GOOGLE_CLIENT_ID | (optional) | Google OAuth client ID |
VIGIL_GOOGLE_CLIENT_SECRET | (optional) | Google OAuth client secret |
To skip the interactive setup screen (useful for automation):
docker run -d \
-p 8080:8080 \
-v vigil-data:/data \
-e VIGIL_JWT_SECRET=your-secret \
-e VIGIL_ADMIN_PASSWORD=your-admin-password \
bhoopendrau004/vigil:latest
This creates an admin user (admin / [email protected]) with the given password on first boot.
Mount a volume to /data to persist your SQLite database across container restarts. Without this, all monitors and history will be lost when the container is removed.
Multi-platform images are built via CI for linux/amd64 and linux/arm64.
Content type
Image
Digest
sha256:932f19208…
Size
10.2 MB
Last updated
2 months ago
docker pull bhoopendrau004/vigil