123 lines
3.1 KiB
YAML
123 lines
3.1 KiB
YAML
services:
|
|
prometheus:
|
|
image: prom/prometheus:latest
|
|
container_name: memento-prometheus
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
|
|
- ./alerts.yml:/etc/prometheus/alerts.yml:ro
|
|
- prometheus-data:/prometheus
|
|
ports:
|
|
- "9090:9090"
|
|
networks:
|
|
- memento-monitoring
|
|
|
|
grafana:
|
|
image: grafana/grafana:latest
|
|
container_name: memento-grafana
|
|
restart: unless-stopped
|
|
environment:
|
|
GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_ADMIN_PASSWORD:-memento-admin}
|
|
GF_USERS_ALLOW_SIGN_UP: "false"
|
|
GF_SERVER_ROOT_URL: "${GRAFANA_URL:-http://localhost:3001}"
|
|
volumes:
|
|
- grafana-data:/var/lib/grafana
|
|
- ./grafana-provisioning:/etc/grafana/provisioning:ro
|
|
- ./grafana-dashboards:/etc/grafana/dashboards:ro
|
|
ports:
|
|
- "3002:3000"
|
|
networks:
|
|
- memento-monitoring
|
|
|
|
alertmanager:
|
|
image: prom/alertmanager:latest
|
|
container_name: memento-alertmanager
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./alertmanager.yml:/etc/alertmanager/alertmanager.yml:ro
|
|
ports:
|
|
- "9093:9093"
|
|
networks:
|
|
- memento-monitoring
|
|
|
|
node-exporter:
|
|
image: prom/node-exporter:latest
|
|
container_name: memento-node-exporter
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /proc:/host/proc:ro
|
|
- /sys:/host/sys:ro
|
|
- /:/rootfs:ro
|
|
command:
|
|
- '--path.procfs=/host/proc'
|
|
- '--path.sysfs=/host/sys'
|
|
- '--path.rootfs=/rootfs'
|
|
ports:
|
|
- "9100:9100"
|
|
networks:
|
|
- memento-monitoring
|
|
|
|
postgres-exporter:
|
|
image: prometheuscommunity/postgres-exporter:latest
|
|
container_name: memento-postgres-exporter
|
|
restart: unless-stopped
|
|
environment:
|
|
DATA_SOURCE_NAME: "postgresql://${POSTGRES_USER:-memento}:${POSTGRES_PASSWORD}@memento-postgres:5432/${POSTGRES_DB:-memento}?sslmode=disable"
|
|
ports:
|
|
- "9187:9187"
|
|
networks:
|
|
- memento-monitoring
|
|
- memento-net
|
|
|
|
redis-exporter:
|
|
image: oliver006/redis_exporter:latest
|
|
container_name: memento-redis-exporter
|
|
restart: unless-stopped
|
|
environment:
|
|
REDIS_ADDR: "redis://memento-redis:6379"
|
|
ports:
|
|
- "9121:9121"
|
|
networks:
|
|
- memento-monitoring
|
|
- memento-net
|
|
|
|
cadvisor:
|
|
image: gcr.io/cadvisor/cadvisor:latest
|
|
container_name: memento-cadvisor
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /:/rootfs:ro
|
|
- /var/run:/var/run:ro
|
|
- /sys:/sys:ro
|
|
- /var/lib/docker/:/var/lib/docker:ro
|
|
ports:
|
|
- "8081:8080"
|
|
networks:
|
|
- memento-monitoring
|
|
|
|
alertmanager-bridge:
|
|
image: alpine:latest
|
|
container_name: memento-alertmanager-bridge
|
|
restart: unless-stopped
|
|
entrypoint: |
|
|
sh -c '
|
|
apk add --no-cache curl
|
|
while true; do
|
|
echo "Bridge running - configure webhook to forward to Telegram"
|
|
sleep 3600
|
|
done
|
|
'
|
|
networks:
|
|
- memento-monitoring
|
|
|
|
volumes:
|
|
prometheus-data:
|
|
grafana-data:
|
|
|
|
networks:
|
|
memento-monitoring:
|
|
driver: bridge
|
|
memento-net:
|
|
external: true
|
|
name: memento_memento-network
|