version: '3' services: clone_config: image: alpine volumes: - lgtm-config:/lgtm-config environment: DRONE_API_KEY: ${DRONE_API_KEY} command: - /bin/sh - -c - | apk update apk add git cd /lgtm-config if [ -d "lgtm-stack" ]; then rm -rf lgtm-stack; fi git clone "https://dev-gitea.sinetcon.com/pglaum/lgtm-stack" echo "$DRONE_API_KEY" > /lgtm-config/lgtm-stack/drone-api.key jaeger: image: jaegertracing/all-in-one:latest environment: - COLLECTOR_OTLP_ENABLED=true - LOG_LEVEL=debug restart: unless-stopped networks: - traefik-public grafana: image: grafana/grafana-oss volumes: - lgtm-config:/lgtm-config - grafana-data:/var/lib/grafana environment: GF_AUTH_AZUREAD_CLIENT_ID: ${GF_AUTH_AZUREAD_CLIENT_ID} GF_AUTH_AZUREAD_CLIENT_SECRET: ${GF_AUTH_AZUREAD_CLIENT_SECRET} GF_PATHS_CONFIG: "/lgtm-config/lgtm-stack/grafana.ini" GF_INSTALL_PLUGINS: "grafana-piechart-panel" restart: unless-stopped user: '0' networks: - traefik-public loki: image: grafana/loki:2.8.0 ports: - "3100:3100" volumes: - lgtm-config:/lgtm-config command: -config.file=/lgtm-config/lgtm-stack/loki.yaml networks: - traefik-public depends_on: clone_config: condition: service_completed_successfully promtail: image: grafana/promtail:2.8.0 volumes: - lgtm-config:/lgtm-config command: -config.file=/lgtm-config/lgtm-stack/promtail.yaml networks: - traefik-public depends_on: clone_config: condition: service_completed_successfully prometheus: image: prom/prometheus:latest restart: unless-stopped volumes: - prometheus-data:/prometheus - lgtm-config:/lgtm-config command: - '--config.file=/lgtm-config/lgtm-stack/prometheus.yaml' - '--storage.tsdb.path=/prometheus' - '--web.console.libraries=/etc/prometheus/console_libraries' - '--web.console.templates=/etc/prometheus/consoles' - '--web.enable-lifecycle' networks: - traefik-public user: '0' depends_on: clone_config: condition: service_completed_successfully # node_exporter: # image: quay.io/prometheus/node-exporter:latest # command: # - '--path.rootfs=/host' # pid: host # restart: unless-stopped # volumes: # - '/:/host:ro,rslave' # networks: # - traefik-public volumes: grafana-data: prometheus-data: lgtm-config: external: True networks: traefik-public: external: true