explaingit

woodpecker-ci/woodpecker

7,021GoAudience · ops devopsComplexity · 4/5LicenseSetup · moderate

TLDR

Woodpecker is a lightweight self-hosted CI/CD system that automatically builds, tests, and deploys your code in containers each time you push, using under 130 MB RAM total and SQLite by default so you can start without a separate database.

Mindmap

mindmap
  root((woodpecker))
    What it does
      Build automation
      Test on push
      Auto deploy
    Architecture
      Server component
      Agent component
      Container steps
    Setup
      Docker
      Kubernetes
      SQLite default
    Community
      Matrix chat
      Codeberg production use
    Audience
      DevOps engineers
      Self-hosters
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Automatically run your test suite on every pull request so broken code never merges without review.

USE CASE 2

Deploy your application to a server automatically whenever code is pushed to the main branch.

USE CASE 3

Replace a paid CI service with a self-hosted pipeline running on your own Docker-enabled server.

USE CASE 4

Run multi-step container-based build pipelines on a Kubernetes cluster with plugin extensions.

Tech stack

GoTypeScriptDockerKubernetesSQLite

Getting it running

Difficulty · moderate Time to first run · 1h+

Requires Docker for running pipeline steps and a compatible Git hosting platform such as Gitea or GitHub as the code source.

Server code is Apache 2.0, free to use for any purpose including commercial projects, documentation is CC-BY-SA 4.0.

In plain English

Woodpecker is a tool that automates the work of building, testing, and deploying software. This kind of system is called a CI/CD engine, where CI stands for continuous integration (automatically checking that new code does not break things) and CD stands for continuous delivery (automatically shipping working code to where it needs to run). You define what steps should happen in a configuration file, and Woodpecker runs those steps every time code is pushed or a pull request is opened. The project is a community-maintained fork of an older open-source CI tool called Drone. It runs as two parts: a server that coordinates everything and stores state, and one or more agents that actually execute the pipeline steps inside containers. The default database is SQLite, which means you can start small without setting up a separate database. At idle, the server uses around 100 MB of RAM and each agent uses around 30 MB. Woodpecker is designed to be installed on your own infrastructure, giving you control over what runs and where. It works with Docker containers for pipeline steps, and can be deployed on Kubernetes as well. A plugin system lets you extend what pipelines can do. The main documentation site covers installation options and configuration in detail. The project is used in production by Codeberg, a privacy-focused Git hosting platform, as its primary CI/CD system. There is an active community with chat on Matrix and a translation effort for the web interface. Financial support comes through Open Collective and GitHub Sponsors. The server code is released under the Apache 2.0 license. Documentation files use the Creative Commons Attribution-ShareAlike 4.0 license.

Copy-paste prompts

Prompt 1
Help me set up a Woodpecker CI server and agent on a Linux machine using Docker and connect it to a Gitea repository.
Prompt 2
Write a Woodpecker pipeline config that builds a Node.js app, runs tests, and deploys to a server on push to main.
Prompt 3
I am migrating from Drone CI to Woodpecker, what changes do I need to make to my existing pipeline YAML files?
Prompt 4
Show me how to deploy Woodpecker on Kubernetes with a PostgreSQL database instead of the default SQLite.
Open on GitHub → Explain another repo

← woodpecker-ci on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.