Skip to content

docker host with 2GB: how many services?

VPS Hosting by ronwit 27 replies 2.7K views
#21
kasiaxus said:
Orchestra to bus stop

Perkele. Good phrase. Stealing.

Caddy has automatic HTTPS, no database, no nodejs. One binary. 20MB binary, 64M limit enough.

Npm needs 150M+ just to start. On 2GB VPS, difference matters.

Starter pack should explain: choose proxy by need. Simple = caddy. Complex dashboard = npm or traefik, pay the RAM tax.

#22

The RAM tax, I like this. In Lyon we say "impôt sur la mémoire."

I propose starter pack structure:

  • Tier 512M-1G: caddy, static, sqlite, alpine only
  • Tier 2G: caddy or npm, postgres tuned, pihole, one dynamic app
  • Tier 4G+: traefik, monitoring, jellyfin, multiple databases

With compose examples for each. Community maintained, github repo, pull requests welcome.

@ronwit you started this, you should host the repo. Your github?

#23

Me? Host repo? I am budget king, not git king (´・ω・`)

But okay, I can try. First I need to finish limiting my remaining 9 containers. Then write what I learned. Then maybe github.

Current mystery: one of my "9 more" is uptime-kuma, another is vaultwarden. Both need how much RAM? I dont know, I just copied compose from internet. This is the problem, no?

Starter pack should have "known good limits" for common selfhosted apps. Community tested.

instant noodles, instant deploys
#24

Salam kenal! I am small reseller from Jakarta, but I also selfhost for learning.

Known good limits from my testing on 2GB RackNerd (similar to Contabo):

  • Vaultwarden: 128M (rust, efficient)
  • Uptime-kuma: 150M (nodejs, bit fat)
  • Adguard-home: 64M (better than pihole for memory, similar function)
  • wireguard: 32M (kernel module, userspace tiny)
  • Freshrss: 128M (php + sqlite, light)

I can help with repo, I have github account for my reseller site. But I am not programmer, just copy-paste expert like ronwit xd

traffic worse than my packet loss
5 #25
JokoNord said:
I am small reseller from Jakarta, but I also selfhost for learning.

Nossa, controversial! Pihole has the community, the blocklists, the familiar. Adguard maybe lighter but not same ecosystem.

I say: starter pack offers both. "Light DNS blocker" section with options. User chooses, we not fight about religion.

Same for caddy vs npm vs traefik. Document tradeoffs, let user decide.

#26

Following this thread from Perth. Good drift from "how many services" to "how to structure starter pack."

One thing not covered: ZFS on 2GB. Don't. ARC will eat everything. Ext4 or xfs, no fancy.

Also following for the repo link when ready.

#27

¡the repo, the community! I am excited~

But I want to ask, the @Hel said "no healthchecks in OP compose. Bad." Why bad? I dont use healthchecks in my homelab, the containers restart when I ssh and see they down (´・ω・`)

Is this the bad practice? I restart manually, I learn the problem. Automatic restart hides the problem, no?

Or the healthchecks are for the docker swarm, the kubernetes, the big systems? For tiny VPS, overkill again?

hot air, steady hand, magic smoke
#28
sofialund said:
Automatic restart hides the problem

Perkele. Wrong. Healthcheck not for restart. Healthcheck tells docker: this container alive but not healthy. Then you see in `docker ps`, status (unhealthy). You investigate.

Without healthcheck, container runs but nginx dead inside. Docker thinks fine. You think fine. Website down. Sister angry. Anime interrupted.

Simple healthcheck for nginx:

healthcheck:
  test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost"]
  interval: 30s
  timeout: 10s
  retries: 3

No restart policy needed. Just visibility. Visibility good. Hiding bad.

Post a reply

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

Post reply Preview Save draft