- Add Redis/in-memory caching layer (cache.go) - Add SMTP alerting for high failure rates (alerts.go) - Add data migration script from old API (migrate.go) - Add docker-compose.yml for easy deployment - Move dashboard to / with redirect from /dashboard - Add dark/light mode toggle - Add error analysis and failed apps statistics - Add PVE version and LXC/VM type stats - Add /metrics Prometheus endpoint - Add /api/records pagination endpoint - Add CSV export functionality - Enhanced healthcheck with PB connection status New ENV vars: - Cache: ENABLE_CACHE, CACHE_TTL_SECONDS, ENABLE_REDIS, REDIS_URL - Alerts: ALERT_ENABLED, SMTP_*, ALERT_FAILURE_THRESHOLD, etc. - Migration: RUN_MIGRATION, MIGRATION_REQUIRED, MIGRATION_SOURCE_URL
75 lines
1.7 KiB
YAML
Generated
75 lines
1.7 KiB
YAML
Generated
version: "3.8"
|
|
|
|
services:
|
|
telemetry:
|
|
build: .
|
|
container_name: proxmoxved-telemetry
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8080:8080"
|
|
environment:
|
|
# Service config
|
|
LISTEN_ADDR: ":8080"
|
|
MAX_BODY_BYTES: "1024"
|
|
RATE_LIMIT_RPM: "60"
|
|
RATE_BURST: "20"
|
|
UPSTREAM_TIMEOUT_MS: "4000"
|
|
ENABLE_REQUEST_LOGGING: "false"
|
|
|
|
# PocketBase connection
|
|
POCKETBASE_URL: "http://pocketbase:8090"
|
|
POCKETBASE_COLLECTION: "_dev_telemetry_data"
|
|
|
|
# Cache config
|
|
ENABLE_CACHE: "true"
|
|
CACHE_TTL_SECONDS: "60"
|
|
ENABLE_REDIS: "false"
|
|
# REDIS_URL: "redis://redis:6379"
|
|
|
|
# Alert config (optional)
|
|
ALERT_ENABLED: "false"
|
|
# SMTP_HOST: ""
|
|
# SMTP_PORT: "587"
|
|
# SMTP_USER: ""
|
|
# SMTP_PASSWORD: ""
|
|
# SMTP_FROM: "telemetry@proxmoxved.local"
|
|
# SMTP_TO: ""
|
|
ALERT_FAILURE_THRESHOLD: "20.0"
|
|
ALERT_CHECK_INTERVAL_MIN: "15"
|
|
ALERT_COOLDOWN_MIN: "60"
|
|
|
|
# Migration config - set to "true" to run migration on first start
|
|
RUN_MIGRATION: "false"
|
|
MIGRATION_REQUIRED: "false"
|
|
MIGRATION_SOURCE_URL: "https://api.htl-braunau.at/dev/data"
|
|
depends_on:
|
|
- pocketbase
|
|
networks:
|
|
- telemetry-net
|
|
|
|
pocketbase:
|
|
image: ghcr.io/muchobien/pocketbase:latest
|
|
container_name: proxmoxved-pocketbase
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8090:8090"
|
|
volumes:
|
|
- pocketbase-data:/pb_data
|
|
networks:
|
|
- telemetry-net
|
|
|
|
# Optional: Redis for caching
|
|
# redis:
|
|
# image: redis:7-alpine
|
|
# container_name: proxmoxved-redis
|
|
# restart: unless-stopped
|
|
# networks:
|
|
# - telemetry-net
|
|
|
|
volumes:
|
|
pocketbase-data:
|
|
|
|
networks:
|
|
telemetry-net:
|
|
driver: bridge
|