infra/unraid/docker-compose.yml
2025-05-30 12:45:19 -04:00

94 lines
2.4 KiB
YAML

version: "3.8"
services:
alertmanager:
build:
context: .
dockerfile: Dockerfile.alertmanager
container_name: ${HOSTNAME}-alertmanager
ports:
- "9093:9093"
volumes:
- ./configs/alertmanager:/etc/alertmanager
environment:
- DISCORD_ALERT_WEBHOOK=${DISCORD_ALERT_WEBHOOK}
restart: unless-stopped
grafana:
image: grafana/grafana:latest
container_name: ${HOSTNAME}-grafana
ports:
- "${GRAFANA_PORT}:3000"
environment:
- GF_SECURITY_ADMIN_USER=${GRAFANA_USER}
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASS}
volumes:
- ./configs/grafana:/etc/grafana
- grafana-data:/var/lib/grafana
restart: unless-stopped
prometheus:
image: prom/prometheus:latest
container_name: ${HOSTNAME}-prometheus
ports:
- "${PROMETHEUS_PORT}:9090"
volumes:
- ./configs/prometheus:/etc/prometheus
- prometheus-data:/prometheus
command:
- --config.file=/etc/prometheus/prometheus.yml
restart: unless-stopped
loki:
image: grafana/loki:latest
container_name: ${HOSTNAME}-loki
ports:
- "${LOKI_PORT}:3100"
volumes:
- ./configs/loki:/etc/loki
- loki-data:/loki
command: ["-config.file=/etc/loki/loki-config.yml", "-config.expand-env=true"]
restart: unless-stopped
promtail:
image: grafana/promtail:latest
container_name: ${HOSTNAME}-promtail
volumes:
- /var/log:/var/log:ro
- ./configs/promtail:/etc/promtail
command: -config.file=/etc/promtail/promtail.yml
restart: unless-stopped
docker_exporter:
image: prometheusnet/docker_exporter
container_name: ${HOSTNAME}-docker_exporter
ports:
- "${DOCKER_EXPORTER_PORT}:9487"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped
node_exporter:
image: prom/node-exporter:latest
container_name: ${HOSTNAME}-node_exporter
ports:
- "${NODE_EXPORTER_PORT}:9100"
command:
- --web.listen-address=:${NODE_EXPORTER_PORT}
restart: unless-stopped
nginx:
image: nginx:latest
container_name: ${HOSTNAME}-nginx
ports:
- "${NGINX_HTTP_PORT}:80"
- "${NGINX_HTTPS_PORT}:443"
volumes:
- ./configs/nginx:/etc/nginx/conf.d
- ./configs/nginx/ssl:/etc/nginx/ssl
- ./configs/nginx/html:/usr/share/nginx/html
restart: unless-stopped
volumes:
grafana-data:
prometheus-data:
loki-data: