94 lines
2.4 KiB
YAML
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: |