2026-10-30 13:53:49 +00:00
2026-10-30 11:02:24 +00:00
2026-10-30 09:42:57 +00:00
2026-10-30 13:53:49 +00:00
2026-10-30 09:42:57 +00:00

Woodpecker CI

Woodpecker CI met Gitea OAuth2, Traefik reverse proxy, en een lokale Docker-agent.

Eerste keer opstarten

1. Gitea OAuth2 applicatie aanmaken

Ga naar https://<jouw-gitea>/user/settings/applications en maak een nieuwe OAuth2 App:

  • Application name: Woodpecker CI
  • Redirect URI: https://pecker.smulders.online/authorize

Noteer de Client ID en Client Secret.

2. .env aanmaken

cp .env.example .env

Vul in:

Variabele Waarde
WOODPECKER_GITEA_CLIENT Client ID uit stap 1
WOODPECKER_GITEA_SECRET Client Secret uit stap 1
WOODPECKER_GITEA_URL URL van je Gitea instance
WOODPECKER_AGENT_SECRET openssl rand -hex 32
WOODPECKER_HOST https://pecker.smulders.online
WOODPECKER_ADMIN Je Gitea gebruikersnaam

3. Starten

Via Portainer: importeer de stack en wijs de .env toe.

Of via CLI:

docker compose up -d

4. Verificatie

docker compose logs -f woodpecker-server

Woodpecker is bereikbaar op https://pecker.smulders.online.

Architectuur

Internet
  └── Traefik (traefik-proxy network)
        └── woodpecker-server :8000  (UI + API)
              └── woodpecker-agent    (woodpecker-internal network)
                    └── Docker socket (pipeline containers)
  • Server zit op twee netwerken: traefik-proxy (extern) en woodpecker-internal (intern naar agent)
  • Agent zit alleen op woodpecker-internal — niet direct bereikbaar van buiten
  • Agent communiceert met server via gRPC op poort 9000

Authentik toevoegen (later)

Voeg aan de server-labels toe:

- "traefik.http.routers.woodpecker.middlewares=authentik@docker"

En zorg dat de Authentik forward-auth middleware beschikbaar is in Traefik.

Pipeline voorbeeld

Maak .woodpecker.yml in een Gitea-repo:

steps:
  - name: build
    image: python:3.12-slim
    commands:
      - pip install -r requirements.txt
      - python -m pytest
S
Description
No description provided
Readme 40 KiB