If you've been running a home lab for more than six months, you've almost certainly asked yourself: should I self-host my own Git server? And once you decide yes, the follow-up question hits immediately β Forgejo or Gitea?
Both are Go-based, lightweight GitHub alternatives that run comfortably inside a Proxmox LXC container. Both ship container registries, CI/CD via Actions-compatible runners, and a GitHub-like UI your team already understands. And both will answer that self-hosted git itch without demanding a dedicated server or 8 GB of RAM.
But they're not the same project anymore β and in 2026, the gap between them matters more than it did at the fork. This guide covers everything: governance, features, resource footprint, Proxmox LXC setup, and which one you should actually pick.
Why Self-Hosted Git in the First Place?
Before the comparison: if you're running a home lab or small team and you're still pushing to GitHub or GitLab.com, you're leaking data, depending on someone else's uptime, and paying for private repos that you could control yourself.
Self-hosting your Git server gives you:
For a home lab engineer running Proxmox, this is low-hanging fruit. An LXC container with 1 vCPU and 512 MB RAM is genuinely all you need.
The Fork: What Actually Happened Between Forgejo and Gitea
Forgejo forked from Gitea in late 2022. The split wasn't technical β it was about governance. A group of core contributors grew concerned that Gitea Ltd (the commercial entity backing Gitea) was accumulating too much control over a project that had grown into critical infrastructure for thousands of self-hosters.
Forgejo launched under a non-profit governance model with the explicit goal: the project belongs to its users, not a company. Code is hosted on Codeberg, decisions go through a community structure, and the trademark is protected so it can't be appropriated commercially.
Gitea, meanwhile, has continued shipping under Gitea Ltd's direction. The company has been investing more heavily in enterprise features, cloud hosting (gitea.com), and commercial support β which means faster feature velocity in some areas, but also a roadmap shaped by paying enterprise customers rather than self-hosters.
In practice, both codebases share a large common base and the API remains compatible. You can migrate between them in an afternoon.
Feature Comparison: Forgejo vs Gitea in 2026
CI/CD: Actions Runners
Both platforms ship a GitHub Actions-compatible CI system. Gitea calls it Gitea Actions; Forgejo calls it Forgejo Actions. Syntax is identical β your existing .github/workflows/*.yml files work with minor path changes.
Forgejo has moved more aggressively toward full Actions compatibility in 2026, patching several edge cases that Gitea hasn't addressed upstream. If you're migrating complex pipelines from GitHub, Forgejo tends to be the smoother landing pad.
Winner for CI/CD: Forgejo (slightly)
Package and Container Registry
Both ship a built-in package registry supporting NuGet, npm, PyPI, Maven, and container (OCI) images. This is the killer feature that makes self-hosted Git actually useful for a full development workflow β your CI builds an image, pushes it to the same server that hosts your code, and your Kubernetes cluster pulls from it directly.
Neither platform has a meaningful edge here in 2026. Both just work.
Federated Pull Requests (Forgejo-Only)
This is where Forgejo is genuinely innovating. The team has been building ActivityPub-based federation β the ability to open a pull request on a Forgejo instance from a different Forgejo instance, without creating an account on the target server. Think of it as email for code reviews.
It's still experimental in 2026, but it's the kind of feature that only a community-governed project builds. Gitea Ltd has no incentive to federate β federation threatens the stickiness of gitea.com.
For a solo home lab setup this doesn't matter today. For anyone contributing to or running public open-source projects, this is the future.
UI and Mobile Experience
The UIs are nearly identical β Forgejo's is a fork of Gitea's, so the learning curve is zero if you've used either. Forgejo has made slightly more aggressive UI improvements in 2026, including better dark mode support and a redesigned diff view.
Neither has a native mobile app. The web UI is mobile-functional but not optimized.
Resource Footprint on Proxmox LXC
Here's what you actually care about when sizing your LXC container:
| | Forgejo | Gitea | |---|---|---| | Idle RAM (no load) | ~420 MB | ~400 MB | | RAM under CI load | ~600-800 MB | ~580-750 MB | | Disk (binary + data) | ~150 MB base | ~140 MB base | | Recommended LXC RAM | 1 GB (min 512 MB) | 1 GB (min 512 MB) | | CPU at idle | <1% | <1% |
The difference is negligible. If you're allocating 1 GB RAM to the container, both run identically. The Forgejo binary is marginally larger due to additional federation code, but you'll never notice it.
Recommended LXC spec for either platform:
Setting Up Forgejo on Proxmox LXC (Step-by-Step)
This assumes you have a Proxmox node with LXC template storage available. If you haven't set that up, download the Debian 12 template first:
pveam update
pveam download local debian-12-standard_12.7-1_amd64.tar.zst
1. Create the LXC Container
In the Proxmox UI: Create CT then set 1024 MB RAM, 20 GB disk, 1 CPU core, unprivileged container, bridge network with a static IP.
Or via CLI:
pct create 120 local:vztmpl/debian-12-standard_12.7-1_amd64.tar.zst \
--hostname forgejo \
--memory 1024 \
--cores 1 \
--rootfs local-lvm:20 \
--net0 name=eth0,bridge=vmbr0,ip=192.168.1.120/24,gw=192.168.1.1 \
--unprivileged 1 \
--start 1
2. Install Forgejo
pct exec 120 -- bash -c "
apt update && apt install -y git curl
useradd -m -s /bin/bash git
cd /home/git
curl -fsSL https://codeberg.org/forgejo/forgejo/releases/download/v9.0.3/forgejo-9.0.3-linux-amd64 -o forgejo
chmod +x forgejo
mkdir -p /var/lib/forgejo /etc/forgejo
chown -R git:git /var/lib/forgejo /etc/forgejo
"
Always check codeberg.org/forgejo/forgejo/releases for the latest version β v9.x is current as of mid-2026.
3. Create a systemd Service
pct exec 120 -- bash << 'HEREDOC' cat > /etc/systemd/system/forgejo.service << 'EOF' [Unit] Description=Forgejo After=network.target[Service] RestartSec=2s Type=simple User=git WorkingDirectory=/var/lib/forgejo ExecStart=/home/git/forgejo web --config /etc/forgejo/app.ini Restart=always Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/forgejo
[Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl enable --now forgejo HEREDOC
4. Complete the Web Setup
Navigate to http://192.168.1.120:3000 and complete the initial setup wizard. Key settings:
git5. Reverse Proxy via Caddy
If you're already running Caddy on your Proxmox network, add a proxy block to your Caddyfile:
git.yourdomain.com {
reverse_proxy 192.168.1.120:3000
}
Forgejo will automatically detect the external URL if you set ROOT_URL in /etc/forgejo/app.ini:
[server]
ROOT_URL = https://git.yourdomain.com/
Migrating from GitHub to Forgejo or Gitea
Both platforms support one-click GitHub repo migration β including issues, PRs, labels, milestones, and wikis. Go to + > New Migration > GitHub and enter your GitHub token. The migration runs async and you get a progress indicator.
For migrating between Gitea and Forgejo, both support Gitea-format exports:
1. On source: use the admin panel export or the API (/api/v1/repos/search for a full list)
2. On target: import via the migration wizard selecting "Gitea" as source
3. SSH keys, webhooks, and Actions secrets need to be re-added manually
Hardware Worth Having for Your Git + CI Setup
If you're running Actions runners on the same Proxmox node, you'll want enough RAM and NVMe storage to handle concurrent builds.
For a dedicated Git/CI node, the Minisforum MS-01 is excellent β i9-12900H, supports up to 96 GB DDR5, two 2.5G NICs, and handles Proxmox plus several LXC containers without breaking a sweat. The Beelink EQR6 is a cheaper Ryzen 9 6900HX option with 32 GB DDR5 and a 500 GB NVMe β great value for a dedicated home lab mini PC. If you want something running 24/7 with low power draw and a tighter budget, the Beelink SER6 Pro hits that mark.
For storage, the WD Red SN700 1 TB NVMe is built for always-on workloads and is excellent for Proxmox local storage. For raw build cache speed, the Samsung 990 Pro 2 TB is hard to beat. The Sabrent Rocket 4 Plus 1 TB is a strong alternative with great random read/write numbers for artifact caches.
On networking, the TP-Link TL-SG108E is a managed 8-port GbE switch with VLAN support that's cheap and dead reliable. For home lab edge routing, the MikroTik hEX S with its 5-port GbE plus SFP port is hard to beat at the price. And for headless Proxmox nodes, a PiKVM V4 Plus is worth every penny when you brick a bootloader at 2 AM. The Cable Matters 10GbE SFP+ DAC Cable is the right choice for direct-attach between Proxmox nodes and managed switches.
Which Should You Pick in 2026?
Here's the honest verdict.
Pick Forgejo if governance and software freedom matter to you (they should), you want the most GitHub Actions-compatible CI system, you're interested in federation features as they mature, or you want to contribute back β Forgejo accepts contributions more openly and the community is more accessible.
Pick Gitea if your team already has Gitea experience and zero reason to migrate, you need enterprise support contracts, or you want the closest alignment with the commercial gitea.com platform.
For personal home lab use in 2026: pick Forgejo. The governance model is better, the Actions compatibility is better, and you're backing a project that's genuinely community-owned. The resource overhead is identical and the migration cost from Gitea is minimal.
Both are dramatically better than running GitLab CE if you're resource-constrained β GitLab CE wants 4+ GB RAM to run reliably, which is 4x the overhead for a feature set that most home labbers use maybe 20% of.
Final Setup Checklist
Before you call your instance production-ready:
ssh -T git@git.yourdomain.com.gitea/workflows/ passing (Forgejo reads this path too)Self-hosted Git is one of those home lab decisions you make once and then never think about again β it just runs. Both Forgejo and Gitea earn that reputation. In 2026, Forgejo earns it with better principles attached.
Disclosure: This post contains affiliate links. If you purchase through these links, I may earn a small commission at no extra cost to you.