--- services: woodpecker-server: image: woodpeckerci/woodpecker-server:latest container_name: woodpecker-server restart: unless-stopped networks: - traefik-proxy - woodpecker-internal volumes: - woodpecker-server-data:/var/lib/woodpecker environment: WOODPECKER_OPEN: "false" WOODPECKER_GITEA: "true" WOODPECKER_GITEA_URL: ${WOODPECKER_GITEA_URL} WOODPECKER_GITEA_CLIENT: ${WOODPECKER_GITEA_CLIENT} WOODPECKER_GITEA_SECRET: ${WOODPECKER_GITEA_SECRET} WOODPECKER_HOST: ${WOODPECKER_HOST} WOODPECKER_AGENT_SECRET: ${WOODPECKER_AGENT_SECRET} WOODPECKER_ADMIN: ${WOODPECKER_ADMIN} WOODPECKER_LOG_LEVEL: info labels: - "traefik.enable=true" - "traefik.docker.network=traefik-proxy" # Router - "traefik.http.routers.woodpecker.rule=Host(`pecker.smulders.online`)" - "traefik.http.routers.woodpecker.entrypoints=websecure" - "traefik.http.routers.woodpecker.tls=true" - "traefik.http.routers.woodpecker.tls.certresolver=letsencrypt" # Service - "traefik.http.services.woodpecker.loadbalancer.server.port=8000" woodpecker-agent: image: woodpeckerci/woodpecker-agent:latest container_name: woodpecker-agent restart: unless-stopped depends_on: - woodpecker-server networks: - woodpecker-internal volumes: - /var/run/docker.sock:/var/run/docker.sock environment: WOODPECKER_SERVER: woodpecker-server:9000 WOODPECKER_AGENT_SECRET: ${WOODPECKER_AGENT_SECRET} WOODPECKER_MAX_WORKFLOWS: 4 WOODPECKER_LOG_LEVEL: info WOODPECKER_BACKEND: docker networks: traefik-proxy: external: true woodpecker-internal: driver: bridge volumes: woodpecker-server-data: