I use Woodpecker CI to automate my personal CI/CD processes. This note documents my setup.
Create a docker-compose.yml
and bring the service up (notes on environment below):
version: '3'
services:
woodpecker-server:
image: woodpeckerci/woodpecker-server:latest
ports:
- 8000:8000
expose:
- 8000
volumes:
- ./woodpecker-server-data:/var/lib/woodpecker/
environment:
- WOODPECKER_OPEN=false
- WOODPECKER_HOST=https://your.host
- WOODPECKER_AGENT_SECRET=SECRET
- WOODPECKER_GITEA=true
- WOODPECKER_GITEA_URL=https://git.wilw.dev
- WOODPECKER_GITEA_CLIENT=GITEA_CLIENT
- WOODPECKER_GITEA_SECRET=GITEA_SECRET
woodpecker-agent:
image: woodpeckerci/woodpecker-agent:latest
command: agent
depends_on:
- woodpecker-server
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- WOODPECKER_SERVER=woodpecker-server:9000
- WOODPECKER_AGENT_SECRET=SECRET
Replace the WOODPECKER_HOST
variable with the URL/host required, and also the URL for your Gitea instance.
Generate a WOODPECKER_AGENT_SECRET
string for both the server and agent.
Finally, for use with Gitea, generate a client and secret string by visiting (in Gitea) Settings -> Applications -> Manage OAuth2 applications.
For more info (and to see how to setup Woodpecker for other source providers), check out the documentation.
TLS
To serve Woodpecker over HTTPS, add a network and labels to the config following the instructions in the Traefik note.