version: "3.9" volumes: prometheus_data: {} grafana_data: {} services: # Prometheus # https://github.com/stefanprodan/dockprom prometheus: image: prom/prometheus:v2.28.1 container_name: prometheus volumes: - ./prometheus:/etc/prometheus - prometheus_data:/prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' - '--storage.tsdb.path=/prometheus' restart: unless-stopped ports: - 9090:9090 networks: - default labels: org.label-schema.group: "monitoring" # Grafana # https://github.com/stefanprodan/dockprom grafana: image: grafana/grafana:8.0.4 container_name: grafana volumes: - grafana_data:/var/lib/grafana - ./grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards - ./grafana/provisioning/datasources:/etc/grafana/provisioning/datasources environment: - GF_SECURITY_ADMIN_USER=${ADMIN_USER:-admin} - GF_SECURITY_ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin} - GF_USERS_ALLOW_SIGN_UP=false restart: unless-stopped ports: - 3000:3000 - 80:3000 networks: - default labels: org.label-schema.group: "monitoring" # MKTXP # https://github.com/akpw/mktxp mktxp: image: mktxp:latest volumes: - './mktxp/:/root/mktxp/' ports: - 49090:49090 networks: - default restart: unless-stopped