Skip to content

woodpecker

Continuous Integration (CI) server and agent.

Port 8000
Registry ghcr.io/daemonless/woodpecker
Tags :latest
Source github.com/daemonless/woodpecker

podman-compose

services:
  woodpecker-server:
    image: ghcr.io/daemonless/woodpecker:latest
    container_name: woodpecker-server
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/New_York
      - WOODPECKER_SERVER_ENABLE=true
      - WOODPECKER_GITEA=true
      - WOODPECKER_GITEA_URL=https://gitea.example.com
      - WOODPECKER_AGENT_SECRET=changeme
    volumes:
      - /data/woodpecker:/var/lib/woodpecker
    ports:
      - 8000:8000
      - 9000:9000
    restart: unless-stopped

  woodpecker-agent:
    image: ghcr.io/daemonless/woodpecker:latest
    container_name: woodpecker-agent
    environment:
      - PUID=1000
      - PGID=1000
      - WOODPECKER_AGENT_ENABLE=true
      - WOODPECKER_SERVER=woodpecker-server:9000
      - WOODPECKER_AGENT_SECRET=changeme
    volumes:
      - /var/run/podman/podman.sock:/var/run/podman.sock
    restart: unless-stopped

Environment Variables

Variable Default Description
PUID 1000 User ID for app
PGID 1000 Group ID for app
TZ UTC Timezone
WOODPECKER_SERVER_ENABLE false Enable server mode
WOODPECKER_AGENT_ENABLE false Enable agent mode

See Woodpecker Docs for all configuration options.

Volumes

Path Description
/var/lib/woodpecker Server database and data

Logging

This image uses s6-log for internal log rotation. - System Logs: Captured from console and stored at /config/logs/daemonless/woodpecker/. - Application Logs: Managed by the app and typically found in /config/logs/. - Podman Logs: Output is mirrored to the console, so podman logs still works.