mrkeyoor.com_
Mon 09 Nov 13:19 UTC
Self-Hostedevaluationupdated 09 Nov 2026

woodpecker review

Woodpecker is a self-hosted CI/CD service that starts repository pipelines from forge events such as pushes and pull requests. Its server handles the interface and pipeline configuration; agents execute workflows through a selected backend.

Verdict

Shortlist Woodpecker if your team is prepared to operate forge authentication, a server, agents and database recovery. The build succeeded in 2 seconds, but the Go test command failed with exit 1 after 306 seconds for an unresolved cause. Resolve that failure and verify a representative pipeline and recovery procedure before migrating CI.

We ran it

Lab card: what happened when we ran woodpeckerScreenshot of woodpecker (woodpecker-ci.org)
Install✓ · 53s388 packages
Build✓ · 2s
Tests✗ · 306s58 passed · 1 failed of 59 (go test)
Repo1727 files~168,544 lines of source · 41 MB · 0 CI workflows

Answers from our run

Does woodpecker build from source?

Dependencies installed in 53 seconds (388 packages), and the build succeeded in 2 seconds. We cloned commit 9150d3b into a clean Debian container with 3 CPUs and no project-specific setup.

Do woodpecker's tests pass?

No. The project's own test command finished in 306 seconds and reported 58 passed, 1 failed (go test).

Who should not use woodpecker?

Teams requiring user accounts independent of their Git host: the documented authentication uses forge accounts through OAuth2.

What are the alternatives to woodpecker?

Jenkins, Gitea. Shortlist Woodpecker if your team is prepared to operate forge authentication, a server, agents and database recovery.

SetupN/ADependency installation and the source build succeeded, but a connected server, forge and agent deployment was not reproduced.
Docs3/5On the visible body rubric, concrete component, identity and database guidance earns 3/5. Deployment remains unverified, and the supplied pages conflict over use of the latest container tag.
CommunityN/ARepository activity does not establish support response quality or maintainer capacity; neither was assessed in the supplied measurements.
MaturityN/AThe recorded Go test failure has no identified cause, and live pipeline execution, upgrades and database recovery were not verified.

Who it’s for

Teams keeping an existing Git host who want to control where CI workflows execute.
Operators prepared to manage forge authentication, a server, agents and persistent database state.
Developers evaluating Docker, Kubernetes or local execution against their pipeline requirements.

Who it’s NOT for

Teams requiring user accounts independent of their Git host: the documented authentication uses forge accounts through OAuth2.
Operators expecting Woodpecker to perform database backups or data archival.
Teams unwilling to operate both server and agent components.
Adopters requiring a fully passing recorded repository check before evaluation: the supplied Go test command failed, and its cause remains unresolved.

Setup reality

The November 8, 2026 sandbox run at commit 9150d3b completed dependency installation in 53 seconds, recorded 388 dependencies and built successfully in 2 seconds. The Go test command failed with exit 1 after 306 seconds. Its recorded summary reports 58 passed and 1 failed out of 59; the supplied tail does not identify the failure.

The sandbox configuration recorded 3 CPUs, 8 GB RAM and image label golang:1.24-bookworm. That label does not establish actual runtime or operating-system versions.

A deployment needs a server, an agent and forge configuration. The supplied documentation is labeled 3.20.x; the measured checkout is identified by commit 9150d3b, not by a verified release tag. No connected deployment was verified.

Woodpecker separates coordination from execution

Woodpecker is worth evaluating if your team intends to keep its Git host and operate its own CI components. The server provides the interface, handles webhooks and analyzes YAML pipeline configurations. Agents execute workflows. This gives operators a choice of execution backend while leaving them responsible for connecting and maintaining those components.

The administration guide lists Docker, Kubernetes and local execution backends. Multiple agents can coexist with different backend choices and agent settings. These are documented capabilities; the recorded sandbox run did not compare backends or verify isolation between jobs.

What happened when we ran it

The November 8, 2026 sandbox run used commit 9150d3b. Dependency installation succeeded in 53 seconds, with 388 dependencies recorded. The repository built successfully in 2 seconds.

The Go test command failed with exit 1 after 306 seconds. The recorded summary reports 58 passed and 1 failed out of 59. The supplied evidence does not establish that these totals count individual assertions.

The log tail contains successful package results, including datastore migration and the Woodpecker Go client, followed by FAIL. It does not name the failing package, assertion or underlying exception. The cause remains unresolved; diagnosing it requires the missing part of the full log.

The checkout contained 1,727 files, approximately 168,544 source lines and 41 MB. The configured sandbox had 3 CPUs, 8 GB RAM and image label golang:1.24-bookworm. Actual runtime and operating-system versions require raw toolchain logs. The scan found zero CI workflow files, no Dockerfile and no tests directory. Those discovery results do not establish that upstream container images or Go tests are absent.

These results cover repository commands. No connected forge, server-agent exchange, representative pipeline, loaded-service resource use, upgrade or database restore was verified. The two-second build does not measure CI job throughput.

The supplied administration pages are labeled 3.20.x. They describe the documented operating model, but do not establish release-specific behavior for the measured commit.

Your Git host supplies the user accounts

The server configuration documentation says Woodpecker has no user registration system of its own. Users come from the forge through OAuth2, and registration is closed by default. Check that your intended CI users can authenticate through the chosen forge before evaluating execution backends.

Forge events such as pushes and pull requests start pipelines, and Woodpecker reports pipeline status back to the forge. A useful trial should follow that whole path: trigger a repository event, execute the workflow on the intended agent and confirm the result at the Git host.

Also review the documented administrator and organization settings against your access policy. Those controls were not tested in the recorded run.

Database recovery remains an operator responsibility

Woodpecker uses SQLite by default. The administration guide recommends PostgreSQL or MariaDB for larger instances. The server guide says operators must create an external database themselves, while Woodpecker handles schema migrations, including initial tables and indexes.

Woodpecker does not perform database backups or data archival. The documentation also warns that stored logs can increase database size considerably. Before relying on an installation, decide how to persist its state and rehearse recovery. The supplied measurements contain no restore result that supports recommending a particular backup arrangement.

Container guidance also needs attention. The general guide says no latest tag exists to prevent accidental major upgrades and describes specific SemVer tags and rolling tags instead. However, the supplied server page includes a Traefik example using latest. These pages conflict on that detail. Choose an explicitly documented version tag and verify its availability before deployment; the source build did not verify a published image.

Jenkins and Gitea answer different selection questions

Jenkins is a Java automation server with a plugin model. Evaluate it when existing Jenkins jobs or required plugins shape your decision. The supplied evidence does not compare migration compatibility or maintenance effort with Woodpecker.

Gitea includes Git hosting and CI/CD. Its README describes CI/CD that can reuse GitHub Actions. Evaluate it when you are choosing a development service as well as CI, and verify the workflows you need. That README statement does not establish universal compatibility.

What the documentation score means

Documentation receives 3/5 on this review's rubric: 1 means no identifiable deployment route, 3 means concrete instructions with material verification gaps, and 5 means documented routes independently verified within the review. The supplied pages explain components, forge identity and database responsibilities. The deployment remains unverified, and the container-tag inconsistency needs checking. This score assesses the supplied guidance and its verification here, rather than compatibility or adoption.

Setup ease, support quality and production maturity remain unassessed. Before migrating CI, resolve the recorded test failure, run a representative repository through the intended forge and agent, confirm the reported result and rehearse recovery of stored state.

Alternatives

ProjectWhat it isPick it when
Jenkins gh↗A Java automation server with plugins for development workflows.Evaluate Jenkins when required plugins or existing Jenkins jobs shape your choice. The supplied evidence does not compare migration compatibility or maintenance effort.
Gitea gh↗A self-hosted development service that includes Git hosting and CI/CD.Evaluate Gitea when choosing a Git host as well as CI. Its README describes reusing GitHub Actions, but compatibility with your workflows still needs verification.

What people are saying

  1. [github-trending] woodpecker-ci/woodpecker

Sources

  1. Administration and component architecture
  2. Server identity and database configuration
  3. Jenkins README
  4. Gitea README

More self-hosted reviews

localthings · kubevirt · nvke · voxl · rustdesk-server · spotifast · the whole board →