Woodpecker CI

Woodpecker CI

You know that feeling when tools get in your way more than they help? Woodpecker CI avoids that trap. It’s a self-hosted, container-native CI/CD system — designed for engineers who like their pipelines predictable, their tools minimal, and their infrastructure under their control.

OC: Windows, Linux
Size: ~52 MB
Version: 3.7.0
🡣: 3241

Woodpecker CI: A Clean CI/CD System That Plays By Your Rules

You know that feeling when tools get in your way more than they help? Woodpecker CI avoids that trap. It’s a self-hosted, container-native CI/CD system — designed for engineers who like their pipelines predictable, their tools minimal, and their infrastructure under their control.
Originally forked from Drone, it’s stripped of fluff and focused on the essentials. Pipelines are defined in YAML. Each step runs in a container. It connects to your Git service, runs your jobs, and stays out of the spotlight — just as it should.
You don’t need a fleet of microservices to run it. A small server will do. And if things grow? It scales with you — agents can be added on demand, and the setup still stays readable.

What Woodpecker CI Brings to the Table

FeatureDescription
Container-Native PipelinesEach job step runs in a Docker container — clean, reproducible, isolated.
Readable Pipeline LogicConfiguration lives in `.woodpecker.yml`, tracked in version control.
Low Resource OverheadCan run on small virtual machines or edge hardware without breaking a sweat.
Flexible Workflow ControlSupports serial jobs, parallel steps, and conditional logic.
Git OAuth IntegrationWorks with GitHub, GitLab, Gitea, Bitbucket, and others.
Plugin-Friendly DesignBuild, test, deploy steps can use official or custom Docker-based plugins.
Scalable Agent SystemAdd agents manually or dynamically scale based on job load.
Database ChoicesUse SQLite by default, or upgrade to PostgreSQL/MySQL for heavier use cases.

Getting It Running

Woodpecker can be deployed in several ways depending on how you manage your environment.

1. Docker Compose (Quick Setup)

A common and easy approach for local or single-host setups:

services:
woodpecker-server:
image: woodpeckerci/woodpecker-server
ports:
– 8000:8000
volumes:
– ./data:/var/lib/woodpecker

woodpecker-agent:
image: woodpeckerci/woodpecker-agent
environment:
WOODPECKER_SERVER: http://woodpecker-server:8000
WOODPECKER_AGENT_SECRET: your_secret

2. Running Binaries (Manual Setup)

Download the binaries for `woodpecker-server` and `woodpecker-agent`. Start the server:

./woodpecker-server &

Then launch the agent:

./woodpecker-agent –server http://localhost:8000 –secret your_secret

3. Kubernetes Deployment (for Larger Installations)

Use the Helm chart to deploy in Kubernetes. It supports:
– OAuth credentials
– volume persistence
– custom resource limits
– affinity and toleration rules
– secret management

Workflow Overview (What Using It Feels Like)

  1. Connect Git
    Configure Git OAuth access and define user permissions.2. Create a `.woodpecker.yml`
    Here’s a minimal example:

pipeline:
build:
image: alpine
commands:
– echo “Starting build”
– ./build.sh

  1. Start the Agents
    They automatically pick up jobs and execute tasks in containers.4. Watch It Work
    Logs, statuses, history — visible via the web interface or CLI. No guesswork.

When Does Woodpecker Make Sense?

– You already self-host Git and want a local CI/CD to match.
– You’re tired of tools that overcomplicate simple workflows.
– You want clear pipeline logic and full control over execution.
– You need something light but scalable — without cloud lock-in.

Final Thought

Woodpecker CI doesn’t try to be everything. It’s more like that quiet utility that does one job well — and then gets out of your way. If you’re looking for something you can actually maintain, without paying for features you’ll never use, it might be exactly what your team needs.

Other articles

Submit your application