
Self-hosting Forgejo the easy way
Yulei ChenForgejo is a lightweight, open-source software forge. Think of it as your own self-hosted GitHub: Git hosting, pull requests, issue tracking, CI/CD with Forgejo Actions, and more. It's a community-driven fork of Gitea, focused on staying truly free and open.
Sliplane is a managed container platform that makes self-hosting painless. With one-click deployment, you can get Forgejo running in minutes - no server setup, no reverse proxy config, no infrastructure to maintain.
Prerequisites
Before deploying, ensure you have a Sliplane account (free trial available).
Quick start
Sliplane provides one-click deployment with presets.
- Click the deploy button above
- Select a project
- Select a server. If you just signed up you get a 48-hour free trial server
- Click Deploy!
About the preset
The one-click deploy above uses Sliplane's Forgejo preset. Here's what it includes:
- Forgejo 15 image (
codeberg.org/forgejo/forgejo:15, current as of April 2026) - check Codeberg for newer versions - Persistent storage mounted to
/datafor repositories, database, and configuration - Healthcheck configured on the web UI port
- Ready for HTTPS out of the box via Sliplane's automatic TLS
Next steps
Once Forgejo is running, open the domain Sliplane provided (e.g. forgejo-xxxx.sliplane.app).
Initial setup
On your first visit, Forgejo shows an installation page. Most settings are pre-configured, but you'll want to:
- Set the Site Title to whatever you like
- Create an Administrator Account at the bottom of the page
- Click Install Forgejo
After that, you're logged in and ready to create repositories.
Configuration
Forgejo stores its configuration in /data/gitea/conf/app.ini inside the container. You can customize behavior through environment variables using the FORGEJO__section__key format. For example:
| Variable | Description |
|---|---|
FORGEJO__server__ROOT_URL | The public URL of your instance |
FORGEJO__mailer__ENABLED | Enable email notifications (true/false) |
FORGEJO__service__DISABLE_REGISTRATION | Disable public sign-ups after creating your admin account |
See the Forgejo configuration cheat sheet for the full list of options.
SSH access
The preset runs Forgejo's built-in SSH server. If you need SSH-based Git access, you can configure it through the Forgejo admin panel or environment variables. For most users, HTTPS cloning works out of the box with the domain Sliplane provides.
Logging
By default, Forgejo logs to STDOUT, which works well with Sliplane's built-in log viewer. You can adjust the log level by setting the FORGEJO__log__LEVEL variable to debug, info, warn, or error. For general Docker log tips, check out our post on how to use Docker logs.
Cost comparison
Of course you can also self-host Forgejo with other cloud providers. Here is a pricing comparison for the most common ones:
| Provider | vCPU | RAM | Disk | Monthly Cost | Note |
|---|---|---|---|---|---|
| Sliplane | 2 | 2 GB | 50 GB | €22.80 | Flat rate, free egress, SSL included |
| Fly.io | 2 | 2 GB | 40 GB | ~$17.83 | Disk and bandwidth billed separately |
| Render | 1 | 2 GB | 40 GB | ~$35 | 5 GB bandwidth included on Hobby; disk billed separately |
| Railway | 2 | 2 GB | 40 GB | Up to ~$66 | Usage-based; Pro required for a 40 GB volume |
Click here to see how these numbers were calculated.
Prices checked July 19, 2026. Assuming an always-on instance running 730 hrs/month, Germany/Amsterdam where regional pricing applies, excluding VAT and egress.
- Sliplane: Base server with 2 vCPU, 2 GB RAM and 20 GB storage = €17.80/month; the 50 GB storage tier adds €5 -> €22.80/month. Unlimited services, free egress and SSL are included.
- Fly.io: in Amsterdam,
shared-cpu-2xwith 2 GB RAM = $11.83/month + 40 GB volume × $0.15/GB = $6 -> ~$17.83/month. Egress is billed separately at $0.02/GB in Europe. - Render: closest match is Standard ($25, 1 vCPU / 2 GB) plus 40 GB disk × $0.25/GB = $10 -> ~$35/month. A Hobby workspace includes 5 GB bandwidth, then charges $0.15/GB. Stepping up to Pro compute (2 vCPU / 4 GB) costs $85/month plus disk.
- Railway (Pro plan): at full resource usage: CPU 2 × $20/vCPU/month = $40; RAM 2 × $10/GB/month = $20; volume 40 × $0.15/GB/month = $6 -> up to ~$66/month. Actual CPU and RAM charges depend on usage. A 40 GB volume requires Pro; its $20/month subscription is a minimum commitment that counts toward usage, not an additional charge. Egress is $0.05/GB.
Bandwidth costs can add up fast on usage-based providers. Use our bandwidth cost comparison tool to see what your egress would cost on each platform.
Move the slider or play the animation to compare monthly egress costs. Sliplane stays free as traffic grows.
Egress only, excluding compute and storage. Based on public US/European rates checked July 19, 2026. Render includes its first 5 GB per month. Sliplane egress is free, subject to the Fair Use Policy.
FAQ
Can Forgejo replace GitHub for my team?
For most small-to-medium teams, yes. Forgejo supports Git hosting, pull requests, code review, issue tracking, a package registry, and CI/CD via Forgejo Actions. You won't get GitHub's massive ecosystem of integrations, but for day-to-day development workflows, Forgejo covers the essentials.
How do I disable public registration?
Set the environment variable FORGEJO__service__DISABLE_REGISTRATION to true and redeploy. This is recommended after you've created your admin account and invited your team.
How do I update Forgejo?
Change the image tag in your service settings (e.g. from forgejo:15 to a newer version) and redeploy. Check Codeberg for the latest stable release. Forgejo handles database migrations automatically on startup.
What's the difference between Forgejo and Gitea?
Forgejo is a hard fork of Gitea, created in 2022 when the Gitea community had governance concerns. Both share the same codebase roots, but Forgejo is run by a community-driven organization and focuses on staying fully open source. Feature-wise, they're very similar.
Can I migrate repositories from GitHub or GitLab?
Yes. Forgejo has a built-in migration tool that can import repositories (including issues, pull requests, and labels) from GitHub, GitLab, Gitea, and other platforms. You can find it under New Migration in the UI.