Gitea VPS HostingYour Own Git Server and CI
Host your code on a server you control. We install Gitea with PostgreSQL and an NGINX reverse proxy on your domain with HTTPS, so your team gets repositories, pull requests, issues, packages and Gitea Actions without per-user pricing.
Full root & SSH NVMe storage Daily backups Anti-DDoS 99.9% uptime SLA 11 locations
-
Root and SSH access
Gitea config, runners and Git hooks.
-
NVMe storage
Fast clones, pushes and CI builds.
-
Reserved vCores and RAM
Builds that do not slow your Git server.
-
Daily backups
Automatic backup of the previous 24 hours.
Why Self-Host Git With Gitea
Hosted Git services charge per user and keep your code on their servers. Gitea is a lightweight, open-source alternative you run yourself.
-
No per-user pricing
Add as many users, organisations and repositories as the server can hold.
-
Light on resources
Gitea is a single Go binary that runs comfortably on small servers.
-
CI built in
Gitea Actions uses a syntax compatible with most GitHub Actions workflows, run by your own runners.
-
Code stays with you
Repositories, issues and packages live in the location you choose.
How Gitea Is Set Up
NGINX in front, Gitea serving the web interface and Git, PostgreSQL for metadata, and runners for CI.
Request from a browser or app (HTTPS)
-
Reverse proxy
NGINX
HTTPS for the web interface, the API and Git over HTTPS.
-
Application
Gitea
Repositories, pull requests, issues, wikis and the package registry.
-
Git over SSH
SSH with your keys
Clone and push with SSH keys, on port 22 or a separate port.
-
Database
PostgreSQL
Users, issues and metadata; repositories are stored on disk.
-
CI
Gitea Actions runner
act_runner executes workflows, usually in Docker containers.
Worth knowing
- Repositories live on disk: back up the data directory as well as the database.
- gitea dump creates one archive of repositories, database and configuration.
- Run Actions runners on a separate VPS if builds are heavy, so Git stays responsive.
- Gitea can mirror repositories to and from GitHub or GitLab.
What You Can Run
-
Private repositories
Code for your team or company, on your own server.
-
Code review
Pull requests with reviews and protected branches.
-
CI/CD with Gitea Actions
Tests, builds and deploys from workflow files.
-
Package registry
Container images, npm, Composer, Maven and more.
-
Mirrors
Backup copies of GitHub or GitLab repositories.
-
Issues and wikis
Project tracking and documentation next to the code.
VPS Plans for Gitea
Gitea alone runs on VPS-1. Add Actions runners and a package registry and VPS-2 or VPS-3 gives builds room.
VPS-1
Small websites, APIs, bots and development servers.
- 2 vCores
- 4 GB RAM
- 40 GB NVMe
- 500 Mbps
- Full root and SSH access
- Free initial stack installation
- Server hardening and firewall setup
- Daily backup of the previous 24 hours
- Unlimited traffic *
- Anti-DDoS protection
- Dedicated IPv4 and IPv6
- KVM virtualisation
VPS-2
Production apps, WordPress and online stores.
- 4 vCores
- 8 GB RAM
- 75 GB NVMe
- 1 Gbps
- Full root and SSH access
- Free initial stack installation
- Server hardening and firewall setup
- Daily backup of the previous 24 hours
- Unlimited traffic *
- Anti-DDoS protection
- Dedicated IPv4 and IPv6
- KVM virtualisation
VPS-3
Busy stores, SaaS products and several projects.
- 6 vCores
- 12 GB RAM
- 100 GB NVMe
- 2 Gbps
- Full root and SSH access
- Free initial stack installation
- Server hardening and firewall setup
- Daily backup of the previous 24 hours
- Unlimited traffic *
- Anti-DDoS protection
- Dedicated IPv4 and IPv6
- KVM virtualisation
VPS-4
High-traffic apps, large databases and agencies.
- 8 vCores
- 24 GB RAM
- 200 GB NVMe
- 3 Gbps
- Full root and SSH access
- Free initial stack installation
- Server hardening and firewall setup
- Daily backup of the previous 24 hours
- Unlimited traffic *
- Anti-DDoS protection
- Dedicated IPv4 and IPv6
- KVM virtualisation
* Unlimited traffic in Europe and North America. In Mumbai, Singapore and Sydney a monthly allowance applies (VPS-1 500 GB, VPS-2/VPS-3 1 TB, VPS-4 3 TB), then speed is limited to 10 Mbps until the next month.
Which Plan for Your Gitea Server
Gitea itself is light; repository size and CI builds decide the plan.
| Workload | Start with | Why |
|---|---|---|
| Small team, Git and issues | VPS-1 2 vCores · 4 GB RAM | Gitea and PostgreSQL with room to spare. |
| Team with an Actions runner | VPS-2 4 vCores · 8 GB RAM | 8 GB for builds beside Gitea. |
| Many repositories and packages | VPS-3 6 vCores · 12 GB RAM | 100 GB NVMe and 6 vCores. |
| Large organisation or heavy CI | VPS-4 8 vCores · 24 GB RAM | 200 GB NVMe and 24 GB RAM. |
A starting point, not a limit: every plan upgrades in place, keeping your data, IP address and configuration.
Hosted Git or Self-Hosted Gitea?
Hosted services have the biggest ecosystem. Gitea gives you flat costs and your code on your own server.
| Feature | Hosted Git service | Gitea VPS |
|---|---|---|
| Pricing | Free tiers, then per user | Flat server cost |
| CI minutes | Limited by plan | Your own runners, no minute limits |
| Where code is stored | The provider's data centres | Your server, your location |
| Integrations | Large marketplace | Webhooks, mirrors and Actions |
| Server administration | Handled by the provider | Yours, after our free setup |
| See Plans |
Working With Your Gitea Server
Common first tasks: move a repository in, add a runner and take a backup.
-
Push an existing repository
From your machine, add Gitea as a remote and push.
-
Register an Actions runner
With a token from Site Administration, Actions, Runners.
-
Back up everything
Repositories, database and config in one archive.
-
Check the service
Status and recent log lines.
# 1. Push an existing repository
git remote add gitea [email protected]:team/app.git
git push gitea --all && git push gitea --tags
# 2. Register an Actions runner
./act_runner register --instance https://git.example.com --token YOUR_TOKEN --no-interactive
# 3. Back up everything
sudo -u git gitea dump -c /etc/gitea/app.ini
# 4. Check the service
sudo systemctl status gitea
Example commands; adjust names, paths and versions to your project. Deploying and maintaining your application is yours to do (or ask us for a quote).
Installed and Secured Before You Log In
The VPS is unmanaged: after handover the server is yours to run. Before that, our engineers do the first setup once, free, so you start from a hardened server with Gitea in place.
-
Choose a plan and location
Pick the resources you need and the datacentre closest to your users.
-
Tell us your Gitea setup
Versions, database and domain: at order or right after.
-
We install and secure it
Server hardened, Gitea installed and tested, HTTPS on your domain.
-
You take over with root
SSH access to a working server, ready for your code and data.
Your Gitea server
- Gitea on your domain with HTTPS
- PostgreSQL with a database for Gitea
- Git over SSH for clones and pushes
- NGINX reverse proxy
- An Actions runner with Docker on request
Yours to run after handover
- Ongoing server administration
- Application maintenance and updates
- Debugging your code
- Migrating existing sites or data
Not included in the free setup, but we can quote for it. No control panel by default: CloudPanel, HestiaCP or Virtualmin on request at no cost; cPanel and Plesk need their own licence.
Platform Specs and Locations
The same KVM platform on every plan; only the CPU, RAM, storage and port speed change.
| Virtualisation | KVM with reserved vCores and RAM |
|---|---|
| Storage | NVMe SSD on every plan |
| Network | Dedicated IPv4 and IPv6, 500 Mbps to 3 Gbps per plan |
| Operating systems | Ubuntu 26.04, 24.04 and 22.04 LTS · Debian 13, 12 and 11 · AlmaLinux · Rocky Linux · Fedora · FreeBSD |
| Access | Full root over SSH, key-based login |
| Backups | Automatic daily backup of the previous 24 hours; snapshots and longer retention on request |
| Protection | Always-on anti-DDoS mitigation |
| Availability | 99.9% uptime SLA |
Secured before we hand it over
- Non-root sudo user created for daily work
- SSH key login, password login for root disabled
- Firewall (UFW) open only for the ports you use
- Fail2ban blocking repeated login attempts
- Automatic security updates enabled
- Free Let's Encrypt SSL on your domain
- Timezone, swap and hostname configured
Asia-Pacific
- Mumbai
- Singapore
- Sydney
Europe
- London
- Limburg
- Roubaix
- Gravelines
- Strasbourg
- Milan
- Warsaw
North America
- Beauharnois
Availability per location changes with demand; we confirm your location before setup. In Mumbai, Singapore and Sydney each plan includes a monthly traffic allowance (VPS-1 500 GB, VPS-2 and VPS-3 1 TB, VPS-4 3 TB); beyond it, speed is limited to 10 Mbps until the next month.
Who a Gitea VPS Suits
-
Development teams
Private Git, reviews and CI without per-seat bills.
-
Agencies
Client repositories separated by organisation.
-
Companies with code-location rules
Source code on a server in a country you choose.
Security and Performance for Gitea
Security
- Disable open registration and turn on two-factor authentication.
- Keep Gitea updated; releases include security fixes.
- Run untrusted workflows on a separate runner VPS.
- Back up with gitea dump and keep copies off the server.
Performance
- Use PostgreSQL rather than SQLite for teams.
- Run heavy CI on a separate runner VPS.
- Use Git LFS for large binary files.
- Let Gitea's scheduled tasks run git garbage collection.
Questions Before You Deploy
Not covered here? Ask an engineer before you order.
Host Your Code on Your Own Server
Choose a plan and we hand over Gitea with PostgreSQL, HTTPS and Git over SSH, ready for your first repository.