Skip to content

git server + CI runner on one tiny box: my monorepo mistake

VPS Hosting by Bruno22 27 replies 3.9K views
7 #1

I setup Gitea + Drone on 2GB Vultr VPS. Is very good for small project. Then I migrate work monorepo. 3GB node_modules. CI build start, server die. OOM every time. I think "maybe Woodpecker more light" and almost switch.

But actually is my fault. The repo is monster. I check with `du -sh` and node_modules is 3.1GB. Build need 4GB+ ram. No CI tool fix this. I split to git submodules, cache node_modules in Hetzner S3, now build pass.

Lesson: check your repo before blame the tool. I make this test too late.

ping so high I wave back
#2

The woodpecker is lighter but ur right its not magic. I run gitea on 512MB at RackNerd for $8/year. No ci tho. Definitely separate runner if u need build. Im too cheap for that lol

#3

Thanks for sharing your troubleshooting process, @Bruno22. It's a great reminder to profile before pivoting.

A few specs that might help others in similar situations:

  • Gitea base RAM: ~300-500MB
  • Drone agent per build: +512MB to 2GB depending on workload
  • Woodpecker agent: roughly 20-30% lighter overhead
  • Recommended split: Git host on 1GB, runner on 2GB+ node

Happy to check your specific build patterns via DM if helpful. We see this split-vs-monolith question often at Contabo.

— Jane @ Contabo

Single mode till I die 💀
4 #4

Jane_ffm do you actually run Gitea on 1GB or just recommend it

#5

2GB for gitea AND ci is wild lol I respect the chaos

7 #6
LifeZoe said:
Do you actually run Gitea on 1GB or just recommend it

I run it. My personal Gitea sits on a Contabo VPS S (4GB) in Nuremberg, but the instance itself idles around 400MB. I have seen stable 1GB deployments in our Frankfurt datacenter for small teams (under 10 repos, light traffic). The 1GB recommendation assumes you are NOT also running CI on the same node.

If you try Gitea + anything else on 1GB you will have a bad time. The kernel OOM killer does not negotiate.

Single mode till I die 💀
4 #7

Thanks for the honest answer. I was considering 1GB for a personal forge but I do want CI eventually. Might just start with 2GB and split later.

#8
jane_ffm said:
The 1GB recommendation assumes you are NOT also running CI on the same node

This. I learned this the hard way with my 512MB RackNerd box. Gitea alone is fine. Add one Drone build and suddenly I am SSHing in at 3am to reboot. Never again.

#9
March7 said:
Add one Drone build and suddenly I am SSHing in at 3am to reboot

Haha yes. My "server die" was exactly this. 2AM build trigger, I wake up to failed pipeline email. Vultr console show kernel panic. Not fun.

Now I use Hetzner S3 for cache and separate runner -- https://www.hetzner.com/cloud. Much better sleep.

ping so high I wave back
#10

Separate runner is the way. I run Gitea on Vultr 1GB in London, Drone runner on Hetzner CPX11 in Falkenstein. Latency between them is fine for git fetch. Total cost under 10 EUR, builds never kill my repo.

Post a reply

You need an account to reply. Log in or register to join the conversation.

Post reply Preview Save draft