# Woodpecker CI / Forgejo Actions

CI you host. Woodpecker is Apache-2.0 pipelines; Forgejo Actions runs the YAML you already know — CircleCI without the credit pack.

**Replaces:** CircleCI

**Tier:** Medium

## Problem

CircleCI Performance adds users at $15/month and extra credits at $15 per 25,000. You wanted git-push-build. Woodpecker CI is Apache-2.0 (the maintained Drone fork). Forgejo Actions is CI next to the repo if you already run Forgejo. Jenkins is still MIT if you already live there.

## Stack

- [Woodpecker CI](https://woodpecker-ci.org) — Apache-2.0 CI pipelines (Drone fork)
- [Forgejo](https://forgejo.org) — Self-hosted git plus Actions

## Estimated SaaS cost saved

| You stop paying | Typical / year | Self-host instead |
|---|---:|---|
| CircleCI Performance (small team) | $2,400 | Woodpecker + a runner |

**About $2,400 / year** on a small team, before you count lock-in.

## Deploy on Railway

Placeholder: Woodpecker server + an agent that can run Docker. Forgejo Actions if the git host is already Forgejo. Runners want Docker socket — a VPS is often easier than a single Railway service.

[Start on Railway](https://c17.io/go/railway/woodpecker-ci?from=%2Fstacks%2Fwoodpecker-ci.md)

## AGENT_PROMPT

```
Replace CircleCI with Woodpecker CI (preferred) or Forgejo Actions.

- Server + at least one agent/runner with Docker. Persist the server DB. Mirror one pipeline from .circleci/config.yml — expect a rewrite, not a converter.
- Bind HTTP to 0.0.0.0:$PORT. Lock registration.
- Write AGENT_PROMPT.md. Do not nest Docker-in-Docker on Railway unless you have tested it.
```

## FAQ

### Will my CircleCI YAML run as-is?

No. Woodpecker and Forgejo Actions use their own pipeline files. Port the jobs you still run; leave archived workflows alone.

Source: https://c17.io/stacks/woodpecker-ci
