DEV Community

Alex Spinov
Alex Spinov

Posted on

Woodpecker CI Has a Free Self-Hosted Pipeline — Lightweight CI/CD With Docker and YAML

GitLab CI requires 4GB RAM. Jenkins is a Java monolith. GitHub Actions is cloud-only. What if you just want CI/CD on your own server without the bloat?

Woodpecker CI is a community fork of Drone that's stayed simple. 50MB binary, Docker-native pipelines, YAML config. It does one thing well: run your CI/CD jobs.

What You Get Free

Apache 2.0 licensed:

  • Docker-native — every step runs in a container
  • YAML pipelines — familiar syntax, easy to write
  • Multi-platform — Linux, macOS, Windows agents
  • Secrets management — encrypted secrets per repo/org
  • Matrix builds — test against multiple versions
  • Cron jobs — scheduled pipeline execution
  • Plugins — Docker, Telegram, Slack, S3, and more
  • Gitea/Forgejo native — first-class integration
  • GitHub/GitLab support — works with any Git provider
  • Lightweight — server + agent under 100MB RAM

Quick Start

# docker-compose.yml
services:
  woodpecker-server:
    image: woodpeckerci/woodpecker-server:latest
    ports:
      - "8000:8000"
    volumes:
      - woodpecker-data:/var/lib/woodpecker/
    environment:
      WOODPECKER_HOST: https://ci.example.com
      WOODPECKER_GITEA: true
      WOODPECKER_GITEA_URL: https://gitea.example.com

  woodpecker-agent:
    image: woodpeckerci/woodpecker-agent:latest
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      WOODPECKER_SERVER: woodpecker-server:9000

volumes:
  woodpecker-data:
Enter fullscreen mode Exit fullscreen mode

Pipeline config:

# .woodpecker.yml
steps:
  - name: test
    image: node:20
    commands:
      - npm ci
      - npm test

  - name: build
    image: docker
    commands:
      - docker build -t myapp .
      - docker push myapp
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
Enter fullscreen mode Exit fullscreen mode

What You Can Build

1. Private CI/CD — test and deploy without sending code to external services.
2. Gitea companion — Gitea + Woodpecker = self-hosted GitHub + Actions.
3. Docker build pipeline — build, tag, push images on every commit.
4. Scheduled tasks — cron-triggered pipelines for backups, reports, maintenance.
5. Multi-repo automation — one Woodpecker instance for all your projects.


Need CI/CD setup help? Email spinov001@gmail.com

More free tiers: 61+ Free APIs Every Developer Should Bookmark

Top comments (0)