this post was submitted on 14 Jun 2026
32 points (100.0% liked)
Selfhosted
60451 readers
788 users here now
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil.
-
No spam.
-
Posts are to be related to self-hosting.
-
Don't duplicate the full text of your blog or readme if you're providing a link.
-
Submission headline should match the article title.
-
No trolling.
-
Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
founded 3 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Given that database management systems already provide clear separation between services in the form of databases, users, and permissions, I see no need to spin up new database instances for each individual service. You say it's easier to back up tightly coupled services and databases, but why? I find it easier to back up a single database server than multiple servers.
The real concern with shared databases is performance: some services, under certain conditions, can generate load that degrades database performance for everyone. But that's usually a problem for large enterprises, not self-hosters.
Because it is set and forget in my docker compose. I can backup the container and bring it down without affecting other services.
But that is my inexperience talking and this is is why I wanted to see what other people were doing, and having perspective like yours to learn.
Try moving one of the services out of your combined database.
With a containerized database you stop it. Copy everything over to the other machine and start it.
With your set up you have to dump the database and import it on the other system.
You also get easier coarser performance isolation on a per service basis.
Oh yeah and OOM-killa ever get your database down. Well now they won't all die at once.
The overhead of running another database instance is easily with the above advantages.