All checks were successful
Build and Push Container / build (push) Successful in 1m4s
Features: - SQLite database to track monitors and hosts locally - Uses Uptime Kuma tags to mark monitors as managed by Kuma Strapper - Sync on startup, before each scan, and on-demand via API - Shows existing monitors when re-scanning a host New files: - backend/services/database.py - SQLite database service - backend/services/sync.py - Sync service for Uptime Kuma reconciliation API endpoints: - POST /api/sync - Full sync with Uptime Kuma - POST /api/sync/host/<hostname> - Sync specific host - GET /api/hosts - List tracked hosts - GET /api/hosts/<hostname>/monitors - Get monitors for host - GET /api/monitors/tracked - Get all tracked monitors 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
33 lines
1.0 KiB
YAML
33 lines
1.0 KiB
YAML
services:
|
|
kuma-strapper:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: kuma-strapper
|
|
ports:
|
|
- "5000:5000"
|
|
environment:
|
|
# Required: Base64-encoded SSH private key
|
|
- SSH_PRIVATE_KEY=${SSH_PRIVATE_KEY}
|
|
# Required: Uptime Kuma instance URL
|
|
- UPTIME_KUMA_URL=${UPTIME_KUMA_URL:-http://localhost:3001}
|
|
# Required: Uptime Kuma API token
|
|
- UPTIME_KUMA_API_KEY=${UPTIME_KUMA_API_KEY}
|
|
# Required: Claude/Anthropic API key
|
|
- CLAUDE_API_KEY=${CLAUDE_API_KEY}
|
|
# Optional: Enable dev mode on startup (default: false)
|
|
- DEV_MODE=${DEV_MODE:-false}
|
|
# Optional: Enable debug mode
|
|
- DEBUG=${DEBUG:-false}
|
|
# Database path (inside container)
|
|
- DATABASE_PATH=/app/data/kuma_strapper.db
|
|
volumes:
|
|
- ./data:/app/data
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:5000/api/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 10s
|