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!
It took a minute to see that your title isn’t truncated automatically xD
8GB is needed for a “good experience”, you can go for 4 if you don’t join the massive rooms on Matrix
I have almost everything you listed running except An Invidious instance and your personal website ofc
- VPN Server: Practically nothing
- Nextcloud instance: 731 Mib
- Vaultwarden: 100 Mib
- Matrix home server & Database: 1.5 Gib
- Including bridges(Telegram, Whatsapp, Signal) and Element web 1.91 Gib
- Lemmy Instance: 200 Mib
Regarding storage: Matrix, Lemmy and Mastodon are gonna eat a lot of storage over time because they have to store media like pictures and videos. If you want i can look how much storage they use in total.
The heaviest things will probably be the postgres database(s) needed for nextcloud, vaultwarden, and lemmy. (not sure if invidious or matrix use dbs). I would say 500-1000MiB per DB, so probably around 4GiB to be safe.
Can’t you have multiple services using the same database? My understanding is that they would each do different tables and if you give each a different database user that’s not only good practice but also helps prevent them from stomping on eachother
You could, but it probably wouldn’t help much. The overhead for each additional Postgres server is minimal, the RAM usage comes from each database. It doesn’t really matter if those are on the same postgres instance or on separate ones, in my experience.