services: woodpecker-server: image: woodpeckerci/woodpecker-server:v3 container_name: woodpecker-server restart: always ports: - 3334:3334 # server port - default 8000 - 3335:3335 # gRPC port - default 9000 volumes: # Setup Woodpecker using SQLite (default option) - woodpecker-server-data:/var/lib/woodpecker/ environment: # Wether the instance allowes users to register - WOODPECKER_OPEN=false # Public address of the Woodpecker instance - WOODPECKER_HOST=${WOODPECKER_HOST} # Enable Forgejo driver - WOODPECKER_FORGEJO=true # Configure publicly available Forgejo URL - WOODPECKER_FORGEJO_URL=${FORGEJO_URL} # Authorize values for Woodpecker to get redirects from forgejo and authorization - WOODPECKER_FORGEJO_CLIENT=${FORGEJO_CLIENT} - WOODPECKER_FORGEJO_SECRET=${FORGEJO_CLIENT_SECRET} - WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET} # The default admin user for the Woodpecker instance - WOODPECKER_ADMIN=${WOODPECKER_ADMIN} # also allow this organization to use woodpecker - WOODPECKER_ORGS=${WOODPECKER_ORGS} # redefine ports - WOODPECKER_SERVER_ADDR=:3334 - WOODPECKER_GRPC_ADDR=:3335 networks: - forgejo woodpecker-agent: image: woodpeckerci/woodpecker-agent:v3 container_name: woodpecker-agent command: agent restart: always user: "0:0" depends_on: - woodpecker-server volumes: - woodpecker-agent-config:/etc/woodpecker - /var/run/docker.sock:/var/run/docker.sock environment: - WOODPECKER_SERVER=woodpecker-server:3335 # where to reach the woodpecker server # Add the needed secret to the agent - WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET} # Tell it to search for the forgejo instance in the specific docker network - WOODPECKER_BACKEND_DOCKER_NETWORK=forgejo # max tasks per agent - WOODPECKER_MAX_WORKFLOWS=2 # gRPC settings for security #- WOODPECKER_GRPC_VERIFY=true # default #- WOODPECKER_GRPC_SECURE=true # defaults to false networks: - forgejo volumes: woodpecker-server-data: woodpecker-agent-config: networks: forgejo: external: true