💾 Archived View for wilw.capsule.town › notes › woodpecker.gmi captured on 2023-04-26 at 13:26:04. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

🏡 Home

Back to notes

Woodpecker CI

Last updated on 23 April 2023

I use Woodpecker CI [1] to automate my personal CI/CD processes. This note documents my setup.

1

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 [2].

2

TLS

To serve Woodpecker over HTTPS, add a network and labels to the config following the instructions in the Traefik note [3].

3

Back to notes