version: "3.9" services: agent: build: context: . dockerfile: docker/Dockerfile ports: - "8000:8000" env_file: - .env environment: - STORAGE_PROVIDER=minio - STORAGE_ENDPOINT_URL=http://minio:9000 - STORAGE_ACCESS_KEY=minioadmin - STORAGE_SECRET_KEY=minioadmin - STORAGE_BUCKET=devops-agent volumes: - ~/.kube:/home/appuser/.kube:ro depends_on: - minio restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 5s retries: 3 minio: image: minio/minio:latest command: server /data --console-address ":9001" ports: - "9000:9000" - "9001:9001" environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: minioadmin volumes: - minio_data:/data restart: unless-stopped volumes: minio_data: # Optional: local webhook proxy for testing with ngrok # ngrok: # image: ngrok/ngrok:latest # command: http agent:8000 # ports: # - "4040:4040" # environment: # NGROK_AUTHTOKEN: ${NGROK_AUTHTOKEN}