services: mongo: image: mongo:latest ports: - "27017:27017" environment: MONGO_INITDB_ROOT_USERNAME: root MONGO_INITDB_ROOT_PASSWORD: example volumes: - mongo_data:/data/db agent: build: context: . dockerfile: Dockerfile.agent ports: - "3001:3001" - "3002:3002" env_file: .env environment: OTEL_EXPORTER_OTLP_ENDPOINT: http://otel-collector:4317 OTEL_SERVICE_NAME: compliance-agent depends_on: - mongo volumes: - repos_data:/tmp/compliance-scanner/repos dashboard: build: context: . dockerfile: Dockerfile.dashboard ports: - "8080:8080" env_file: .env environment: OTEL_EXPORTER_OTLP_ENDPOINT: http://otel-collector:4317 OTEL_SERVICE_NAME: compliance-dashboard depends_on: - mongo - agent chromium: image: browserless/chrome:latest ports: - "3003:3000" environment: MAX_CONCURRENT_SESSIONS: 5 CONNECTION_TIMEOUT: 60000 PREBOOT_CHROME: "true" restart: unless-stopped otel-collector: image: otel/opentelemetry-collector-contrib:latest ports: - "4317:4317" - "4318:4318" volumes: - ./otel-collector-config.yaml:/etc/otelcol-contrib/config.yaml restart: unless-stopped volumes: mongo_data: repos_data: