mikrotik_monitoring/docker-compose.yml

85 lines
2.6 KiB
YAML
Raw Normal View History

2021-07-10 14:25:37 +02:00
version: "3.9"
2021-07-10 14:56:26 +02:00
volumes:
prometheus_data: {}
2021-07-10 18:24:24 +02:00
grafana_data: {}
2021-07-10 14:56:26 +02:00
2021-07-10 14:25:37 +02:00
services:
2021-07-10 14:56:26 +02:00
# Prometheus
# https://github.com/stefanprodan/dockprom
prometheus:
image: prom/prometheus:v2.42.0
2023-02-12 16:01:05 +01:00
container_name: mikrotik-prometheus
2021-07-10 14:56:26 +02:00
volumes:
- ./prometheus:/etc/prometheus
- prometheus_data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
2023-03-05 15:37:44 +01:00
- '--storage.tsdb.retention.time=1y' # <= adjust the storage retention period of Prometheus
2021-07-10 14:56:26 +02:00
restart: unless-stopped
networks:
- default
labels:
org.label-schema.group: "monitoring"
2021-07-10 18:24:24 +02:00
# Grafana
# https://github.com/stefanprodan/dockprom
grafana:
image: grafana/grafana:9.3.6
2023-02-12 16:01:05 +01:00
container_name: mikrotik-grafana
2021-07-10 18:24:24 +02:00
volumes:
- grafana_data:/var/lib/grafana
- ./grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards:ro
- ./grafana/provisioning/datasources:/etc/grafana/provisioning/datasources:ro
2021-07-10 18:24:24 +02:00
environment:
- GF_SECURITY_ADMIN_USER=${ADMIN_USER:-admin}
- GF_SECURITY_ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin}
- GF_USERS_ALLOW_SIGN_UP=false
- GF_INSTALL_PLUGINS=flant-statusmap-panel
- GF_DASHBOARDS_DEFAULT_HOME_DASHBOARD_PATH=/etc/grafana/provisioning/dashboards/mikrotik/monitor.json
2021-07-10 18:24:24 +02:00
restart: unless-stopped
networks:
- default
labels:
2021-07-15 17:47:54 +02:00
org.label-schema.group: "monitoring"
# MKTXP
# https://github.com/akpw/mktxp
mktxp:
image: ghcr.io/akpw/mktxp:gha-4093170275
2023-02-12 16:01:05 +01:00
container_name: mikrotik-mktxp
2021-07-15 17:47:54 +02:00
volumes:
# Since Version v0.37 mktxp runs as single user
# Prior it was root
- './mktxp/:/home/mktxp/mktxp/'
2021-07-15 17:47:54 +02:00
networks:
- default
2021-08-01 15:00:09 +02:00
restart: unless-stopped
2022-06-30 14:42:47 +02:00
nginx:
image: nginx:latest
2023-02-12 16:01:05 +01:00
container_name: mikrotik-nginx
2022-06-30 14:42:47 +02:00
volumes:
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
2022-06-30 15:04:23 +02:00
- ./nginx/nginx-selfsigned.key:/etc/nginx/ssl/nginx-selfsigned.key
- ./nginx/nginx-selfsigned.crt:/etc/nginx/ssl/nginx-selfsigned.crt
- ./nginx/self-signed.conf:/etc/nginx/ssl/self-signed.conf
2022-06-30 14:42:47 +02:00
ports:
2022-11-27 15:40:42 +01:00
- 80:80 # You may adjust to some unprivileged ports
2022-06-30 14:42:47 +02:00
- 443:443
networks:
- default
2022-07-14 12:50:15 +02:00
restart: unless-stopped
2023-02-26 13:32:53 +01:00
2023-03-05 15:37:44 +01:00
# https://github.com/prometheus/blackbox_exporter/blob/master/example.yml
blackbox:
image: quay.io/prometheus/blackbox-exporter:latest
container_name: mikrotik-blackbox-exporter
command: --config.file=/config/blackbox.yml
2023-02-26 13:32:53 +01:00
volumes:
2023-03-05 15:37:44 +01:00
- ./blackbox/blackbox.yml:/config/blackbox.yml
2023-02-26 13:32:53 +01:00
networks:
- default
restart: unless-stopped