I plan to have the following services running concurrently on it:
- A VPN (OpenVPN or Wireguard)
- A very lightweight personal website
- A Nextcloud instance (25GB storage max)
- A Vaultwarden instance
- An Invidious instance
- A Matrix server
- A Lemmy instance
I’m unsure if these would be private or public instances. But I’d be curious to hear any thoughts on how much more space I’d need for public instances too, if you’d have a sense of that.
I currently have a VPS with 2GB RAM + 50GB storage. Would that be enough? Thanks in advance!
Does your hosting provider support scaling that up?
This is all relatively lightweight stuff and I would guess that it could run all at the same time with the exception of matrix which is somewhat heavy.
I would also advise you to not run all of that on the same machine especially if you run some more critical stuff like nextcloud and especially vaultwarden on there. You want that to work and you want that to run reliably and safely. You don’t really want a bug in the lemmy instance to take down your private cloud or worse someone gaining access to your vaultwarden databse.
Thanks a lot – my provider does offer scaling up support. I’m also looking into swap partitions to artificially expand RAM.
Re-having it all on one instance, do you think Docker/Podman could help containerize everything and prevent one service from taking all others down?
Containerizing generally a very good idea. MIt provides security benefits in certain cases, keeps stuff organized and can prevent an application taking down other services. So yes. Definitely go for it. So I don’t have super in depth knowledge about docker. Idk if and how you can allocate and provision resources to specific containers. If for example your lemmy is just overloaded and by usage or just a bug it could issues with your other services even when running in a container.
I personally use Linux Containers (LXD/LXC) for pretty much everything. I can use them pretty much exactly like a VM even though they are just containers using the host resources but I can provision them properly. You can SSH into them just like into a normal Linux machine.
Speaking of linux containers there is something that you should check regardless of what container solution you want to use. With cheap VPS it is very common that you actually don’t pay for a real VM but what you have is actually a LXC (Linux Container). This is usually fine but it can cause issues when you try to run containers like docker or other LXC inside of it. It doesn’t have to but it definitely can. So you might wanna check that first. Also take in mind that you are limited to whatever Kernel the host is running.
Another issue that I encountered when working with docker on a rented vps is that my provider didn’t offer an external firewall so I just had to use ufw on the machine itself. not a big deal in general but my docker network was not affected by my firewall rules out of the box. i don’t remember exactly what was going on but I messed around with it and could solve that. Just something to look out for.