networks: loki: {} services: cadvisor: container_name: cadvisor image: gcr.io/cadvisor/cadvisor:latest networks: loki: null ports: - published: 8080 target: 8080 restart: always volumes: - /:/rootfs:ro - /var/run:/var/run:rw - /sys:/sys:ro - /var/lib/docker:/var/lib/docker:ro generator: build: context: ./generator container_name: generator depends_on: - syslog-ng networks: loki: null grafana: container_name: grafana environment: GF_AUTH_ANONYMOUS_ENABLED: "true" GF_AUTH_ANONYMOUS_ORG_ROLE: Admin GF_AUTH_BASIC_ENABLED: "false" GF_AUTH_DISABLE_LOGIN_FORM: "true" GF_DASHBOARDS_DEFAULT_HOME_DASHBOARD_PATH: /var/lib/grafana/dashboards/no_folder/loki_syslog_aio_overview.json image: grafana/grafana:8.1.2 networks: loki: null ports: - protocol: tcp published: 3000 target: 3000 restart: always volumes: - ./config/grafana/provisioning/datasources:/etc/grafana/provisioning/datasources:ro - ./config/grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards:ro - ./config/grafana/dashboards:/var/lib/grafana/dashboards:ro loki: command: -config.file=/etc/loki/loki-config.yml container_name: loki depends_on: - minio image: grafana/loki:2.3.0 networks: loki: null ports: - protocol: tcp published: 3100 target: 3100 restart: always volumes: - ./config/loki-config-s3.yml:/etc/loki/loki-config.yml:ro minio: command: -c 'mkdir -p /data/loki && /usr/bin/docker-entrypoint.sh minio server /data' container_name: minio entrypoint: sh environment: MINIO_ACCESS_KEY: minio123 MINIO_PROMETHEUS_AUTH_TYPE: public MINIO_SECRET_KEY: minio456 healthcheck: interval: 30s retries: 3 test: - CMD - curl - -f - http://localhost:9000/minio/health/live timeout: 20s image: minio/minio:latest networks: loki: null ports: - published: 9000 target: 9000 restart: always node-exporter: command: --path.rootfs=/host container_name: node-exporter image: prom/node-exporter:latest networks: loki: null pid: host ports: - published: 9100 target: 9100 restart: always volumes: - /:/host:ro,rslave prometheus: command: - --config.file=/etc/prometheus/prometheus.yml - --storage.tsdb.path=/prometheus - --web.enable-admin-api - --web.enable-lifecycle container_name: prometheus image: prom/prometheus:latest networks: loki: null ports: - published: 9090 target: 9090 restart: always volumes: - ./config/prometheus.yml:/etc/prometheus/prometheus.yml:ro promtail: command: -config.file=/etc/promtail/promtail-config.yml container_name: promtail image: grafana/promtail:2.3.0 networks: loki: null ports: - protocol: tcp published: 1514 target: 1514 - protocol: tcp published: 9080 target: 9080 restart: always volumes: - ./config/promtail-config.yml:/etc/promtail/promtail-config.yml:ro syslog-ng: command: -edv container_name: syslog-ng depends_on: - promtail image: balabit/syslog-ng:latest networks: loki: null ports: - protocol: udp published: 514 target: 514 - protocol: tcp published: 601 target: 601 restart: always volumes: - ./config/syslog-ng.conf:/etc/syslog-ng/syslog-ng.conf:ro version: '3.3'