How much RAM does Forgejo need? We measured: 173 MB idle
Forgejo (git forge (gitea fork)) used 173 MB of RAM across 1 process sitting idle with default configuration — measured by us, on real hardware, not copied from another blog. Runtime: Single Go binary (embedded SQLite)
Give it a 1 GB box if anyone actually pushes to it. Idle numbers understate Git forges more than any other category here.
What the vendors say
Forgejo inherits Gitea's documented 1 GB recommendation. Our Gitea measurement (158 MB) and this one tell the same story: the recommendation has headroom for CI, not for the forge itself.
What changes under load
Git operations spawn subprocesses; large clones and pushes spike memory and CPU well above idle. Actions/CI runners are a separate budget entirely.
Methodology
Each app was started with its default configuration and an empty data directory, left to settle for 25–30 seconds, and confirmed alive with an HTTP request to its web interface. We then recorded the resident set size (RSS) of the app's entire process tree via ps. Apps were run directly on the host (no Docker), so numbers exclude container overhead (~10–30 MB with Docker).
A fresh minimal Ubuntu 24.04 VPS typically idles at roughly 200–300 MB RSS (kernel, systemd, sshd, journald). All 'fits on' verdicts below assume ~300 MB reserved for the OS.
Where to run it
A 1 GB instance from Hetzner, Vultr or DigitalOcean covers this app with the OS overhead included. Don't pay for RAM the measurements say you won't use.
Other apps we measured
File Browser (16 MB), Gotify (20 MB), ntfy (27 MB), PocketBase (31 MB), Caddy (40 MB), Navidrome (47 MB), Syncthing (57 MB), Prometheus (70 MB), MinIO (132 MB), Uptime Kuma (136 MB), Gitea (158 MB), code-server (VS Code in the browser) (191 MB)