64 lines
1.7 KiB
YAML
64 lines
1.7 KiB
YAML
services:
|
|
uptime-kuma:
|
|
image: louislam/uptime-kuma:${UPTIME_KUMA_VERSION}
|
|
container_name: uptime-kuma
|
|
restart: unless-stopped
|
|
volumes:
|
|
- uptime-kuma-data:/app/data
|
|
ports:
|
|
- "${UPTIME_KUMA_PORT}:3001"
|
|
|
|
prometheus:
|
|
image: prom/prometheus:${PROMETHEUS_VERSION}
|
|
container_name: prometheus
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
|
|
- prometheus-data:/prometheus
|
|
command:
|
|
- "--config.file=/etc/prometheus/prometheus.yml"
|
|
- "--storage.tsdb.retention.time=${PROM_RETENTION}"
|
|
ports:
|
|
- "${PROMETHEUS_PORT}:9090"
|
|
|
|
grafana:
|
|
image: grafana/grafana:${GRAFANA_VERSION}
|
|
container_name: grafana
|
|
restart: unless-stopped
|
|
environment:
|
|
- GF_SECURITY_ADMIN_USER=${GRAFANA_USER}
|
|
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD}
|
|
volumes:
|
|
- grafana-data:/var/lib/grafana
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.grafana.rule=Host(`${GRAFANA_HOST}`)"
|
|
- "traefik.http.routers.grafana.entrypoints=${TRAEFIK_ENTRYPOINT}"
|
|
- "traefik.http.routers.grafana.tls=true"
|
|
- "traefik.http.routers.grafana.tls.certresolver=${TRAEFIK_RESOLVER}"
|
|
- "traefik.http.services.grafana.loadbalancer.server.port=3000"
|
|
networks:
|
|
- frontend
|
|
- default
|
|
|
|
node-exporter:
|
|
image: quay.io/prometheus/node-exporter:${NODE_EXPORTER_VERSION}
|
|
container_name: node-exporter
|
|
restart: unless-stopped
|
|
network_mode: host
|
|
pid: host
|
|
command:
|
|
- '--path.rootfs=/host'
|
|
volumes:
|
|
- '/:/host:ro,rslave'
|
|
|
|
volumes:
|
|
uptime-kuma-data:
|
|
prometheus-data:
|
|
grafana-data:
|
|
|
|
networks:
|
|
frontend:
|
|
external: true
|
|
|