Skip to content
Commitpedia
Log in Join & edit

Woodpecker CI: a lightweight, self-hosted CI engine with container-based pipelines

The Woodpecker CI repository: a community fork of Drone that runs every pipeline step in its own container, connects to GitHub, Gitea, Forgejo, GitLab and Bitbucket, and runs on a single small server.

Drafted with AI from official documentation. Scripts were run in a test environment and repository links verified. Awaiting a human check. Did it work for you? Last edited Outdated?

Edit history of Woodpecker CI: a lightweight, self-hosted CI engine with container-based pipelines: 1 recorded edit
Edit history · 1 edit
Type
Repo
Edits
1
Editors
1
First issued
15 Oct 2026
Last edit
15 Oct 2026
Source
woodpecker-ci/woodpecker

woodpecker-ci/woodpecker

Stars
8k
Forks
710
Language
Go
Licence
Apache-2.0
Last push
15 Oct 2026

On GitHub: Woodpecker is a simple, yet powerful CI/CD engine with great extensibility.

Open on GitHub

Woodpecker CI (about 8,000 stars on GitHub) is a community-maintained continuation of the open source Drone CI, licensed under Apache-2.0. A server component talks to your Git forge and shows the web UI; one or more agents pick up jobs and run each pipeline step as a container with Docker, Podman or Kubernetes. The server is a single Go binary with an embedded SQLite database by default, so a complete CI system fits on a small VM.

Choose it when you host your own Git (Gitea, Forgejo, GitLab) or want CI you fully control next to GitHub, and you like the model of “every step is a container image plus commands”. Pipelines are YAML files in the repository under .woodpecker/ or a single .woodpecker.yaml:

when:
  - event: [push, pull_request]
    branch: main

steps:
  - name: test
    image: python:3.13
    commands:
      - pip install -r requirements.txt
      - pytest -v

  - name: lint
    image: python:3.13
    depends_on: []
    commands:
      - pip install ruff
      - ruff check .

Steps run in order unless depends_on makes them parallel; the when block filters by event, branch, path and more. Secrets, matrix builds, services (databases for tests), cron pipelines and plugins for Docker image builds and deployments are all available. To try it, the documentation provides a Docker Compose file: run woodpecker-server with the forge OAuth settings (WOODPECKER_GITHUB_CLIENT and WOODPECKER_GITHUB_SECRET for GitHub, or the Gitea and GitLab equivalents) and a shared WOODPECKER_AGENT_SECRET, then woodpecker-agent with access to the Docker socket.

docker compose up -d
docker compose logs -f woodpecker-server
curl -s http://localhost:8000/healthz

Log in through your forge, enable a repository, push a .woodpecker.yaml and the first pipeline starts. The woodpecker-cli tool from the same repository lints pipeline files locally with woodpecker-cli lint. Credit to the Woodpecker CI maintainers and contributors.

Did this work for you?

No votes yet. Be the first.

If it did not work, the report form below tells the editors what went wrong.

See also

  • 0313 What is CI/CD? CI/CD is the habit of automatically testing every code change and, once it passes, deploying it without manual steps. Beginner · Explains an idea · Any system Article Pipelines, runners & hooks 15 Oct 2026
  • 0378 Continuous integration explained What continuous integration means, why small frequent merges plus an automated build on every change prevent integration pain, what a good pipeline… Beginner · Explains an idea · Any system Article Pipelines, runners & hooks 15 Oct 2026
  • 0379 Your first GitHub Actions workflow: run tests on every push Build a working GitHub Actions pipeline from nothing: a small Python project with a test, a workflow file that runs pytest on… Beginner · Guided project · Any system Article GitHub Actions · Pipelines, runners & hooks 15 Oct 2026
  • 0381 pre-commit hooks: catch mistakes before they are committed Install the pre-commit framework, configure hooks for whitespace, YAML and JSON syntax, large files, leaked private keys, Python linting and shellcheck, run… Beginner · Step by step · Linux, macOS, Windows Article Pipelines, runners & hooks · Setup 15 Oct 2026
  • 0454 Scan your own code and containers in CI: Gitleaks, Semgrep and Trivy Set up a GitHub Actions workflow that runs Gitleaks, Semgrep and Trivy on every push of your own project, learn what each… Intermediate · Step by step · Any system Article Pipelines, runners & hooks · Security testing & CTF 15 Oct 2026

History

Every saved edit is kept. The plot on the sleeve draws one line per edit. Open any edit to see exactly what changed.

  1. Dominik +1,946 chars

Report a problem

Something wrong, unsafe or copied? Tell the editors.
What is wrong?