I work for a ~20 people agency, and host all of our own git infrastructure on a small VPS. For years we ran GitLab. But after some time, it started to feel too much; too much ram usage, and major version updates always seemed to be a hassle. And we were barely using 20% of what was offered.
So i want to switch to Gitea and use Traefik as a reverse proxy, and ActRunner for auto deploying to the environments based off ssh. We split out each environment into its own compose file (dev, prod, runner, and proxy). This allowed us to start only what we needed when starting up.
I documented the entire process along the way.
The stack:
- Gitea + PostgreSQL
- Traefik as reverse proxy with automatic TLS (Let's Encrypt)
- Act Runner for CI/CD (GitHub Actions-compatible syntax)
- Auto-deploy on push to main via SSH
I’ve organized the compose files by environment (prod, dev, traefik, runner), so you can bring up exactly what you need for your setup.
Repo: gitea-stack
Feedback welcome :) especially if you're running something similar and have a different approach, I'm really curious, but pls have mercy if I did something wrong, I'm a little bit new to the self-hosted world!
Top comments (0)