CI/CD that fits in a single binary

Lightweight, self-hosted continuous integration. Docker-based builds, visual pipelines, encrypted secrets — zero external dependencies.

ci.example.com/projects/acme/web-app/builds/42
FeatherCI Projects
A
Projects acme/web-app Builds #42
Build #42 success
Commita3f8c21d
Branchmain
Authoralice
Duration2m 14s
Message feat: add user avatar upload endpoint
Steps
test 48s lint 12s build 34s approval deploy
test golang:1.22
48s
1=== RUN TestUserCreate
2--- PASS: TestUserCreate (0.02s)
3=== RUN TestUserUpdate
4--- PASS: TestUserUpdate (0.01s)
5=== RUN TestAvatarUpload
6--- PASS: TestAvatarUpload (0.03s)
7PASS
8ok github.com/acme/web-app/... 0.48s
lint golang:1.22
12s
build golang:1.22
34s
deploy-approval Approved by alice
deploy alpine:latest if: branch == "main"
40s

Why FeatherCI?

Most CI systems are massive SaaS platforms or complex self-hosted stacks. FeatherCI takes a different approach.

Ship a Single Binary

Everything compiled into one executable — web UI, build engine, SQLite database. Download, set a few env vars, run.

Build in Containers

Every step runs in an isolated Docker container. Use any image — golang:1.22, node:20, python:3.12.

See Your Pipeline

Visual DAG rendering of build steps. See dependencies, parallelism, and approval gates at a glance.

Multi-Provider Auth

Sign in with GitHub, GitLab, or Gitea/Forgejo. Self-hosted instances fully supported.

Gate Deployments

Add type: approval steps for human sign-off. Build promotion workflows across environments.

Scale When Ready

Start standalone. Add worker nodes with one env var change when you need more capacity. No architecture migration.

Everything at a glance

Your dashboard shows build activity across all projects. Stats, recent builds, and quick actions — all on one page.

  • Project count, success rate, and active builds
  • Recent builds with status, branch, and commit info
  • One-click project creation from your Git provider
ci.example.com

Welcome back, alice!

Here's what's happening with your projects

+ New Project

Projects

5

Successful

128

Failed

7

Running

2

Recent Builds
StatusBuildCommit
successacme/web-app #42feat: add user avatar upload
runningacme/api #87fix: rate limiter edge case
failureacme/web-app #41refactor: auth middleware
successacme/docs #15docs: update API reference

Project overview

Each project gets its own page with build stats, history, and quick actions. Trigger builds manually or let webhooks handle it.

  • Total builds, success rate, and average duration
  • Manual trigger, settings, secrets, and notifications
  • Automatic webhook registration on project creation
ci.example.com/projects/acme/web-app
Projects web-app
acme/web-app

Default branch: main

Settings Trigger Build

Total Builds

42

Success Rate

93%

Avg Duration

2m 08s

Recent Builds View all
#StatusBranchCommit
#42successmaina3f8c21d
#41failuredevelope7b2a91f
#40successmain1c4d5e8a

Up and running in 30 seconds

Install however you prefer.

$ terminal
docker run -d \ -p 8080:8080 \ -v featherci-data:/data \ -v /var/run/docker.sock:/var/run/docker.sock \ -e FEATHERCI_SECRET_KEY=$(openssl rand -base64 32) \ -e FEATHERCI_BASE_URL=http://localhost:8080 \ -e FEATHERCI_ADMINS=yourusername \ -e FEATHERCI_GITHUB_CLIENT_ID=your_id \ -e FEATHERCI_GITHUB_CLIENT_SECRET=your_secret \ ghcr.io/featherci/featherci:latest

Features at a Glance

Feature Details
Single binaryOne executable, embedded web UI, SQLite storage
Docker executionSteps run in isolated containers with any image
Visual pipelinesDAG visualization of build steps and dependencies
Manual approvalsGate deployments with human sign-off
Conditional stepsBranch and pattern-based conditions
Encrypted secretsAES-256-GCM encryption at rest, masked in logs
Build cachingCache dependencies between builds with key templates
Real-time logsStream build output as it happens
NotificationsEmail (SMTP/SendGrid/Mailgun), Slack, Discord, Pushover
Multi-provider authGitHub, GitLab, Gitea/Forgejo (including self-hosted)
Distributed workersScale horizontally with additional build nodes

Ready to get started?

Set up FeatherCI in under a minute.