--- version: "3.8" services: app: image: woodpeckerci/woodpecker-server:v0.15.6-alpine volumes: - data:/var/lib/woodpecker/ configs: - source: woodpecker_env target: .env environment: - WOODPECKER_OPEN - WOODPECKER_HOST=https://${DOMAIN} - WOODPECKER_ADMIN secrets: - agent_secret networks: - proxy - internal deploy: restart_policy: condition: on-failure labels: - "traefik.enable=true" - "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=8000" - "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})" - "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure" - "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}" - "coop-cloud.${STACK_NAME}.version=0.1.0+v0.15.6-alpine" agent: image: woodpeckerci/woodpecker-agent:v0.15.6-alpine command: agent depends_on: - woodpecker-server volumes: - /var/run/docker.sock:/var/run/docker.sock environment: - WOODPECKER_SERVER=app:9000 - WOODPECKER_MAX_PROCS networks: - internal configs: - source: woodpecker_env target: .env secrets: - agent_secret deploy: restart_policy: condition: on-failure networks: proxy: external: true internal: volumes: data: configs: woodpecker_env: name: ${STACK_NAME}_woodpecker_env_${WOODPECKER_ENV_VERSION} file: woodpecker.env.tmpl template_driver: golang secrets: agent_secret: name: ${STACK_NAME}_agent_secret_${SECRET_AGENT_SECRET_VERSION} external: true