Refactor docker-compose configurations and add new services
- Reorganize Authelia configuration files - Add new dynamic routing files for Traefik - Update various service docker-compose files - Remove outdated templates and scripts
This commit is contained in:
@@ -23,7 +23,7 @@ services:
|
||||
- homelab-network
|
||||
- traefik-network
|
||||
ports:
|
||||
- "9090:9090"
|
||||
- '9090:9090'
|
||||
volumes:
|
||||
- ./config/prometheus:/etc/prometheus
|
||||
- prometheus-data:/prometheus
|
||||
@@ -38,19 +38,19 @@ services:
|
||||
# TRAEFIK CONFIGURATION
|
||||
# ==========================================
|
||||
# Service metadata
|
||||
- 'homelab.category=monitoring"
|
||||
- 'homelab.description=Metrics collection and time-series database"
|
||||
- 'homelab.category=monitoring'
|
||||
- 'homelab.description=Metrics collection and time-series database'
|
||||
# Traefik reverse proxy (comment/uncomment to disable/enable)
|
||||
# If Traefik is on a remote server: these labels are NOT USED;
|
||||
# configure external yml files in /traefik/dynamic folder instead.
|
||||
- 'traefik.enable=true"
|
||||
- 'traefik.docker.network=traefik-network"
|
||||
- 'traefik.http.routers.prometheus.rule=Host(`prometheus.${DOMAIN}`)"
|
||||
- 'traefik.http.routers.prometheus.entrypoints=websecure"
|
||||
- 'traefik.http.routers.prometheus.tls=true"
|
||||
- 'traefik.http.routers.prometheus.tls.certresolver=letsencrypt"
|
||||
- 'traefik.http.routers.prometheus.middlewares=authelia@docker"
|
||||
- 'traefik.http.services.prometheus.loadbalancer.server.port=9090"
|
||||
- 'traefik.enable=true'
|
||||
- 'traefik.docker.network=traefik-network'
|
||||
- 'traefik.http.routers.prometheus.rule=Host(`prometheus.${DOMAIN}`)'
|
||||
- 'traefik.http.routers.prometheus.entrypoints=websecure'
|
||||
- 'traefik.http.routers.prometheus.tls=true'
|
||||
- 'traefik.http.routers.prometheus.tls.certresolver=letsencrypt'
|
||||
- 'traefik.http.routers.prometheus.middlewares=authelia@docker'
|
||||
- 'traefik.http.services.prometheus.loadbalancer.server.port=9090'
|
||||
|
||||
# Grafana - Metrics visualization
|
||||
# Default credentials: admin / admin (change on first login)
|
||||
@@ -71,7 +71,7 @@ services:
|
||||
- homelab-network
|
||||
- traefik-network
|
||||
ports:
|
||||
- "3000:3000"
|
||||
- '3000:3000'
|
||||
volumes:
|
||||
- grafana-data:/var/lib/grafana
|
||||
- ./config/grafana/provisioning:/etc/grafana/provisioning
|
||||
@@ -80,26 +80,26 @@ services:
|
||||
- GF_USERS_ALLOW_SIGN_UP=false
|
||||
- GF_SERVER_ROOT_URL=https://grafana.${DOMAIN}
|
||||
- GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource,grafana-piechart-panel
|
||||
user: "1000:1000"
|
||||
user: '1000:1000'
|
||||
depends_on:
|
||||
- prometheus
|
||||
labels:
|
||||
# TRAEFIK CONFIGURATION
|
||||
# ==========================================
|
||||
# Service metadata
|
||||
- 'homelab.category=monitoring"
|
||||
- 'homelab.description=Metrics visualization and dashboards"
|
||||
- 'homelab.category=monitoring'
|
||||
- 'homelab.description=Metrics visualization and dashboards'
|
||||
# Traefik reverse proxy (comment/uncomment to disable/enable)
|
||||
# If Traefik is on a remote server: these labels are NOT USED;
|
||||
# configure external yml files in /traefik/dynamic folder instead.
|
||||
- 'traefik.enable=true"
|
||||
- 'traefik.docker.network=traefik-network"
|
||||
- 'traefik.http.routers.grafana.rule=Host(`grafana.${DOMAIN}`)"
|
||||
- 'traefik.http.routers.grafana.entrypoints=websecure"
|
||||
- 'traefik.http.routers.grafana.tls=true"
|
||||
- 'traefik.http.routers.grafana.tls.certresolver=letsencrypt"
|
||||
- 'traefik.http.routers.grafana.middlewares=authelia@docker"
|
||||
- 'traefik.http.services.grafana.loadbalancer.server.port=3000"
|
||||
- 'traefik.enable=true'
|
||||
- 'traefik.docker.network=traefik-network'
|
||||
- 'traefik.http.routers.grafana.rule=Host(`grafana.${DOMAIN}`)'
|
||||
- 'traefik.http.routers.grafana.entrypoints=websecure'
|
||||
- 'traefik.http.routers.grafana.tls=true'
|
||||
- 'traefik.http.routers.grafana.tls.certresolver=letsencrypt'
|
||||
- 'traefik.http.routers.grafana.middlewares=authelia@docker'
|
||||
- 'traefik.http.services.grafana.loadbalancer.server.port=3000'
|
||||
|
||||
# Node Exporter - Host metrics exporter
|
||||
# Metrics at: http://192.168.4.4:9100/metrics
|
||||
@@ -110,7 +110,7 @@ services:
|
||||
networks:
|
||||
- homelab-network
|
||||
ports:
|
||||
- "9100:9100"
|
||||
- '9100:9100'
|
||||
volumes:
|
||||
- /proc:/host/proc:ro
|
||||
- /sys:/host/sys:ro
|
||||
@@ -121,8 +121,8 @@ services:
|
||||
- '--path.sysfs=/host/sys'
|
||||
- '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'
|
||||
labels:
|
||||
- 'homelab.category=monitoring"
|
||||
- 'homelab.description=Hardware and OS metrics exporter"
|
||||
- 'homelab.category=monitoring'
|
||||
- 'homelab.description=Hardware and OS metrics exporter'
|
||||
|
||||
# cAdvisor - Container metrics exporter
|
||||
# Access at: http://192.168.4.4:8082
|
||||
@@ -134,7 +134,7 @@ services:
|
||||
- homelab-network
|
||||
- traefik-network
|
||||
ports:
|
||||
- "8082:8080"
|
||||
- '8082:8080'
|
||||
volumes:
|
||||
- /:/rootfs:ro
|
||||
- /var/run:/var/run:ro
|
||||
@@ -148,19 +148,19 @@ services:
|
||||
# TRAEFIK CONFIGURATION
|
||||
# ==========================================
|
||||
# Service metadata
|
||||
- 'homelab.category=monitoring"
|
||||
- 'homelab.description=Container metrics and performance monitoring"
|
||||
- 'homelab.category=monitoring'
|
||||
- 'homelab.description=Container metrics and performance monitoring'
|
||||
# Traefik reverse proxy (comment/uncomment to disable/enable)
|
||||
# If Traefik is on a remote server: these labels are NOT USED;
|
||||
# configure external yml files in /traefik/dynamic folder instead.
|
||||
- 'traefik.enable=true"
|
||||
- 'traefik.docker.network=traefik-network"
|
||||
- 'traefik.http.routers.cadvisor.rule=Host(`cadvisor.${DOMAIN}`)"
|
||||
- 'traefik.http.routers.cadvisor.entrypoints=websecure"
|
||||
- 'traefik.http.routers.cadvisor.tls=true"
|
||||
- 'traefik.http.routers.cadvisor.tls.certresolver=letsencrypt"
|
||||
- 'traefik.http.routers.cadvisor.middlewares=authelia@docker"
|
||||
- 'traefik.http.services.cadvisor.loadbalancer.server.port=8080"
|
||||
- 'traefik.enable=true'
|
||||
- 'traefik.docker.network=traefik-network'
|
||||
- 'traefik.http.routers.cadvisor.rule=Host(`cadvisor.${DOMAIN}`)'
|
||||
- 'traefik.http.routers.cadvisor.entrypoints=websecure'
|
||||
- 'traefik.http.routers.cadvisor.tls=true'
|
||||
- 'traefik.http.routers.cadvisor.tls.certresolver=letsencrypt'
|
||||
- 'traefik.http.routers.cadvisor.middlewares=authelia@docker'
|
||||
- 'traefik.http.services.cadvisor.loadbalancer.server.port=8080'
|
||||
|
||||
# Uptime Kuma - Uptime monitoring
|
||||
uptime-kuma:
|
||||
@@ -180,7 +180,7 @@ services:
|
||||
- homelab-network
|
||||
- traefik-network
|
||||
ports:
|
||||
- "3001:3001"
|
||||
- '3001:3001'
|
||||
volumes:
|
||||
- uptime-kuma-data:/app/data
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
@@ -188,19 +188,19 @@ services:
|
||||
# TRAEFIK CONFIGURATION
|
||||
# ==========================================
|
||||
# Service metadata
|
||||
- 'homelab.category=monitoring"
|
||||
- 'homelab.description=Service uptime monitoring and alerts"
|
||||
- 'homelab.category=monitoring'
|
||||
- 'homelab.description=Service uptime monitoring and alerts'
|
||||
# Traefik reverse proxy (comment/uncomment to disable/enable)
|
||||
# If Traefik is on a remote server: these labels are NOT USED;
|
||||
# configure external yml files in /traefik/dynamic folder instead.
|
||||
- 'traefik.enable=true"
|
||||
- 'traefik.docker.network=traefik-network"
|
||||
- 'traefik.http.routers.uptime-kuma.rule=Host(`uptime-kuma.${DOMAIN}`)"
|
||||
- 'traefik.http.routers.uptime-kuma.entrypoints=websecure"
|
||||
- 'traefik.http.routers.uptime-kuma.tls=true"
|
||||
- 'traefik.http.routers.uptime-kuma.tls.certresolver=letsencrypt"
|
||||
- 'traefik.http.routers.uptime-kuma.middlewares=authelia@docker"
|
||||
- 'traefik.http.services.uptime-kuma.loadbalancer.server.port=3001"
|
||||
- 'traefik.enable=true'
|
||||
- 'traefik.docker.network=traefik-network'
|
||||
- 'traefik.http.routers.uptime-kuma.rule=Host(`uptime-kuma.${DOMAIN}`)'
|
||||
- 'traefik.http.routers.uptime-kuma.entrypoints=websecure'
|
||||
- 'traefik.http.routers.uptime-kuma.tls=true'
|
||||
- 'traefik.http.routers.uptime-kuma.tls.certresolver=letsencrypt'
|
||||
- 'traefik.http.routers.uptime-kuma.middlewares=authelia@docker'
|
||||
- 'traefik.http.services.uptime-kuma.loadbalancer.server.port=3001'
|
||||
|
||||
# Loki - Log aggregation
|
||||
# Access at: http://192.168.4.4:3100
|
||||
@@ -221,7 +221,7 @@ services:
|
||||
- homelab-network
|
||||
- traefik-network
|
||||
ports:
|
||||
- "3100:3100"
|
||||
- '3100:3100'
|
||||
volumes:
|
||||
- ./config/loki:/etc/loki
|
||||
- loki-data:/loki
|
||||
@@ -230,19 +230,19 @@ services:
|
||||
# TRAEFIK CONFIGURATION
|
||||
# ==========================================
|
||||
# Service metadata
|
||||
- 'homelab.category=monitoring"
|
||||
- 'homelab.description=Log aggregation system"
|
||||
- 'homelab.category=monitoring'
|
||||
- 'homelab.description=Log aggregation system'
|
||||
# Traefik reverse proxy (comment/uncomment to disable/enable)
|
||||
# If Traefik is on a remote server: these labels are NOT USED;
|
||||
# configure external yml files in /traefik/dynamic folder instead.
|
||||
- 'traefik.enable=true"
|
||||
- 'traefik.docker.network=traefik-network"
|
||||
- 'traefik.http.routers.loki.rule=Host(`loki.${DOMAIN}`)"
|
||||
- 'traefik.http.routers.loki.entrypoints=websecure"
|
||||
- 'traefik.http.routers.loki.tls=true"
|
||||
- 'traefik.http.routers.loki.tls.certresolver=letsencrypt"
|
||||
- 'traefik.http.routers.loki.middlewares=authelia@docker"
|
||||
- 'traefik.http.services.loki.loadbalancer.server.port=3100"
|
||||
- 'traefik.enable=true'
|
||||
- 'traefik.docker.network=traefik-network'
|
||||
- 'traefik.http.routers.loki.rule=Host(`loki.${DOMAIN}`)'
|
||||
- 'traefik.http.routers.loki.entrypoints=websecure'
|
||||
- 'traefik.http.routers.loki.tls=true'
|
||||
- 'traefik.http.routers.loki.tls.certresolver=letsencrypt'
|
||||
- 'traefik.http.routers.loki.middlewares=authelia@docker'
|
||||
- 'traefik.http.services.loki.loadbalancer.server.port=3100'
|
||||
|
||||
# Promtail - Log shipper for Loki
|
||||
# Ships Docker container logs to Loki
|
||||
@@ -260,8 +260,8 @@ services:
|
||||
depends_on:
|
||||
- loki
|
||||
labels:
|
||||
- 'homelab.category=monitoring"
|
||||
- 'homelab.description=Log collector for Loki"
|
||||
- 'homelab.category=monitoring'
|
||||
- 'homelab.description=Log collector for Loki'
|
||||
|
||||
volumes:
|
||||
prometheus-data:
|
||||
|
||||
Reference in New Issue
Block a user