Sign inSign up

bhoopendrau004/vigil

By bhoopendrau004

•Updated 2 months ago

A lightweight, self-hosted uptime monitoring service

Image
0

2.0K

bhoopendrau004/vigil repository overview

⁠Vigil

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.

⁠Features

  • HTTP(S) / TCP / Ping monitoring with configurable intervals
  • Real-time dashboard with WebSocket live updates
  • Latency graphs with historical data
  • Push notifications to Android via Firebase Cloud Messaging
  • Google OAuth sign-in (alongside username/password)
  • Role-based access — admin and viewer roles
  • API key access for programmatic use
  • SQLite storage — no external database needed
  • Single container — frontend embedded in a ~25 MB Alpine image

⁠Quick Start

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.

⁠Docker Compose

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:

⁠Environment Variables

VariableDefaultDescription
VIGIL_PORT8080HTTP server port
VIGIL_DB_PATH/data/vigil.dbSQLite database file path
VIGIL_JWT_SECRETchange-me-in-productionJWT signing secret (change this!)
VIGIL_JWT_EXPIRY24hJWT token lifetime
VIGIL_ADMIN_PASSWORD(optional)Auto-create admin user on first run
VIGIL_RETENTION_DAYS90Heartbeat 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

⁠Headless Setup

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.

⁠Persistent Data

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.

⁠Supported Architectures

Multi-platform images are built via CI for linux/amd64 and linux/arm64.

Tag summary

Content type

Image

Digest

sha256:932f19208…

Size

10.2 MB

Last updated

2 months ago

docker pull bhoopendrau004/vigil