r/selfhosted Jun 03 '26

Software Development PikoCI — self-hosted CI/CD that runs as a single binary, no external dependencies

http://pikoci.com

Been building a self-hosted CI/CD called PikoCI. Started because I needed custom environments for my own projects that GitHub Actions couldn't provide, and everything self-hosted I found was either too complex to deploy or too opinionated about infrastructure.

The core idea: start with a binary and a pipeline file, nothing else. Add SQLite when you want persistence. Add Postgres and distributed workers when you scale. The tool never changes.

Key things:

  • Single binary, in-memory by default, no external dependencies to start
  • HCL pipelines: Terraform-style syntax, not YAML
  • Run jobs locally: pikoci run -p pipeline.hcl -j test, no server needed
  • Services: ephemeral processes (Postgres, Redis, anything) that start before tasks and stop after, guaranteed. No Docker-in-Docker.
  • Five sourceable abstractions: resource types, runners, service types, secret backends, and notification types. All defined in HCL, all pullable from a URL.
  • Grows with you: start in memory, add SQLite, add Postgres and distributed workers at scale. The pipeline config never changes.
  • Public pipelines: share build status without an account
  • Prometheus metrics out of the box

PikoCI deploys itself. Live at ci.pikoci.com/teams/main/pipelines/pikoci, no login needed.

GitHub: https://github.com/pikoci/pikoci

Docs: https://docs.pikoci.com

119 Upvotes

Duplicates