Forgejo on Kheeper
Self-host Forgejo without a platform team.
Forgejo is a complete Git host — code review, issues, releases and CI. Kheeper boots it on your own server as one image, with Postgres, TLS and an Actions runner already inside. No Kubernetes, no Helm chart, no seat count.
GitLab and GitHub Enterprise bill your headcount.
A server does not.
Per seat, forever
Your history, your CI minutes and your runners sit on someone else's terms. The bill tracks headcount, and the only lever you have is removing people from it.
Per seat, plus a team
GitLab and GitHub Enterprise will run on your own hardware — and enterprises staff a team to keep them running. Postgres, Redis, object storage, runners, certificates and upgrades all become yours. You still pay per seat.
One box, flat
Forgejo is free software with no seat licence, and Kheeper charges for storage, bandwidth and hosts — never for people. Add the whole company and the bill does not move.
The whole machine is one artifact.
Forgejo needs a database, a reverse proxy holding certificates, a CI runner and a machine to put them on. Assembling those is the actual work of self-hosting, and it is the part that rots.
Kheeper ships them as one bootable image. The operating system, Forgejo, Postgres, Caddy and the runner are layers in an OCI artifact, and your configuration — domain, admin account, secrets — is encrypted inside it. Boot the image and the host is the forge. There is nothing to install afterwards and nothing to configure by hand.
Upgrading is a new image; the host pulls it and reboots into it. Rolling back is activating the release before it.
us.kheeper.com/public/forgejo
- Forgejo, with code review, issues and releases
- Postgres on the same box — no managed database to rent
- Caddy, with automatic TLS on your domain
- An Actions runner, already registered, 12 jobs at a time
- Rootless podman on a Docker-compatible socket, so testcontainers just works
- Git over SSH on port 22; admin SSH moved to 2222
- Grafana and a metrics stack, with a Forgejo dashboard
From nothing to a forge on your domain.
Two commands, once the box is up.
# the box boots fedora-bootc and registers itself;
# see the docs for GCP, AWS and bare metal
kheeper releases start config.json \
--image us.kheeper.com/public/forgejo:v0.7.0
# fill in domain, admin_username, admin_password, admin_email
kheeper releases create acme/forge:v1 \
--image us.kheeper.com/public/forgejo:v0.7.0 \
--config-file config.json \
--activateWe run ours on a $44 box.
Six cores, 64 GB of memory and dual NVMe disks, from OVH, for the whole team and every workflow it runs. Kheeper adds $0.01/hr for the managed host and pennies for the image — and never charges for a person.
Moving off GitLab or GitHub Enterprise? Write to hello@kheeper.com and we will walk you through it.