You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

183 lines
4.6 KiB

version: '2.2'
networks:
monitor-net:
driver: bridge
volumes:
prometheus_data: {}
grafana_data: {}
db_data: {}
services:
# prometheus:
# image: prom/prometheus:v2.22.1
# container_name: prometheus
# volumes:
# - ./prometheus:/etc/prometheus
# - prometheus_data:/prometheus
# command:
# - '--config.file=/etc/prometheus/prometheus.yml'
# - '--storage.tsdb.path=/prometheus'
# - '--web.console.libraries=/etc/prometheus/console_libraries'
# - '--web.console.templates=/etc/prometheus/consoles'
# - '--storage.tsdb.retention.time=14d'
# - '--web.enable-lifecycle'
# restart: unless-stopped
# expose:
# - 9090
# networks:
# - monitor-net
# labels:
# org.label-schema.group: "monitoring"
#
# alertmanager:
# image: prom/alertmanager:v0.21.0
# container_name: alertmanager
# volumes:
# - ./alertmanager:/etc/alertmanager
# command:
# - '--config.file=/etc/alertmanager/config.yml'
# - '--storage.path=/alertmanager'
# restart: unless-stopped
# expose:
# - 9093
# networks:
# - monitor-net
# labels:
# org.label-schema.group: "monitoring"
redis:
image: redis
container_name: cache
expose:
- 6379
restart: unless-stopped
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"
grafana:
image: grafana/grafana:7.3.4
container_name: grafana
volumes:
- grafana_data:/var/lib/grafana
- ./grafana/provisioning:/etc/grafana/provisioning
environment:
- GF_AUTH_PROXY_ENABLED=true
- GF_AUTH_PROXY_HEADER_NAME=X-Proxy-Station
- GF_AUTH_PROXY_HEADER_PROPERTY_username
- GF_AUTH_PROXY_AUTO_SIGN_UP=true
- GF_AUTH_PROXY_SYNC_TTL=60
- GF_INSTALL_PLUGINS=grafana-worldmap-panel,michaeldmoore-multistat-panel
- GF_LOG_FILTERS='rendering:debug'
- GF_RENDERING_SERVER_URL=http://grafana-image-renderer:8081/render
- GF_RENDERING_CALLBACK_URL=http://grafana:3000/
- GF_SECURITY_ADMIN_USER=${ADMIN_USER:-admin}
- GF_SECURITY_ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin}
- GF_SERVER_DOMAIN=cloud.ixyd.net
- GF_SERVER_ROOT_URL=https://cloud.ixyd.net/grafana
- GF_USERS_ALLOW_SIGN_UP=false
- GF_USERS_AUTO_ASSIGN_ORG=true
- GF_USERS_AUTO_ASSIGN_ORG_ROLE=Editor
restart: unless-stopped
ports:
- "3001:3000"
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"
# alertmanager_notifier:
# image: ixdotai/alertmanager-notifier:latest
# container_name: alertmanager-notifier
# ports:
# - "8899:8899"
# environment:
# - TELEGRAM_TOKEN="1476293190:AAHIHOyZ7Zyf2V-jrEgWELy0XlWHz_7mk48"
# - TELEGRAM_CHAT_ID="-1001462755835"
# - EXCLUDE_LABELS="yes"
# restart: unless-stopped
# networks:
# - monitor-net
# labels:
# org.label-schema.group: "monitoring"
# grafana-image-renderer:
# image: grafana/grafana-image-renderer:latest
# container_name: grafana-image-renderer
# expose:
# - 8081
# environment:
# - ENABLE_METRICS=true
# - HTTP_HOST=grafana-image-renderer
# - LOG_LEVEL=debug
# restart: unless-stopped
# networks:
# - monitor-net
# labels:
# org.label-schema.group: "monitoring"
#
db:
image: mysql:8
container_name: db
# cpus: 4.0
cap_add:
- SYS_NICE
volumes:
- db_data:/var/lib/mysql
- ./initdb:/docker-entrypoint-initdb.d
- ./shared:/shared
restart: always
environment:
MYSQL_ROOT_PASSWORD: verysecret
MYSQL_DATABASE: digimode_stats
MYSQL_USER: stationmonitor
MYSQL_PASSWORD: secret
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"
mysqld-exporter:
image: prom/mysqld-exporter
container_name: mysqld-exporter
restart: always
environment:
- DATA_SOURCE_NAME=root:verysecret@(db:3306)/digimode_stats
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"
wsjtx-exporter:
image: 10.0.73.1:5000/wsjtx-exporter:latest
container_name: wsjtx-exporter
ports:
- "4001:4000"
environment:
- PROMETHEUS=true
- MYSQL=true
- TRACE=true
restart: unless-stopped
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"
pskreporter-exporter:
image: 10.0.73.1:5000/pskreporter-exporter:latest
container_name: pskreporter-exporter
environment:
- PROMETHEUS=true
- MYSQL=true
- TRACE=true
- STATION=DL3SD
restart: unless-stopped
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"