Instead of a subscription
Self-hosted alternatives to GitLab
GitLab bundles repositories, CI/CD, registries and issue tracking into one platform, hosted or self-managed on substantial hardware. The lighter forges here cover the same day-to-day workflow on a server that does not need a fleet behind it.
Requirements
Side by side
| Application | Minimum RAM | Disk estimate | Database | Installation difficulty | Backup | Recipe verification | License |
|---|---|---|---|---|---|---|---|
| Gitea | 512 MB RAM | 5 GB | PostgreSQL | Medium | Yes · Restore tested | Fully verifiedRecheck overdue · 0 dCheck is current | MIT |
| Forgejo | 512 MB RAM | 5 GB | PostgreSQL | Medium | Yes | Fully verifiedRecheck overdue · 0 dCheck is current | GPL-3.0-or-later |
The bill
The subscription against a server
Both figures are editable, because only you know which of them you actually pay. The server is sized from the figure the recipe recommends — the same one the catalog calls a comfortable fit on your profile — and not from the cheapest row of a price list.
Gitea asks for 1 GB of RAM, 1 vCPU and 5 GB of disk — $6 a month on DigitalOcean Basic.
The difference
- Per month
- $23
- Per year
- $276
- Over three years
- $828
Hosting it yourself is cheaper — $276 a year stays with you.
Not counted: your own time, a domain, and a backup kept anywhere other than that same server. A machine you already run costs nothing extra — set the server to zero.
GitLab · Premium, billed annually, price checked 2026-09-10Server prices: DigitalOcean Basic, checked 2026-09-10
Migration
What changes when you host it yourself
The data stops leaving your network, and so does the responsibility for it: backups, the restore you have actually tested, and the disk it all sits on.
Feature parity is never exact. Read what each recipe states about limitations and the smoke test before planning a migration.
The bill turns into work: updates, certificates and an eye on the release notes. The catalog shows how much of that each recipe asks for.