this post was submitted on 18 Jan 2024
10 points (81.2% liked)

Selfhosted

39250 readers
226 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:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

Hi, I'm just getting started with Docker, so apologies in advance if this seems silly.

I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.

So I've set up the invoicing software (InvoiceNinja), and everything is working as I want.

Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.

Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I'm worried that an update to Invoiceninja would have a chance of messing up the other setups as well.

It shouldn't, from my understanding of how docker containers work, but I'm not 100% sure. What would be the best way to proceed?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 15 points 8 months ago (7 children)

Use new containers, that's what they're for.

[–] [email protected] 2 points 8 months ago (6 children)

That would be ideal, per my understanding of the architecture.

So will docker then minimize the system footprint for me? If I run two mysql containers, it won't necessarily take twice the resources of a single mysql container? I'm seeing that the existing mysql process in top is using 15% of my VPS's RAM, I don't want to spin up another one if it's going to scale linearly.

[–] [email protected] 3 points 8 months ago (2 children)

it won't necessarily take twice the resources of a single mysql container

It will as far as runtime resources

You can (and should) just use the one MySQL container for all your applications. Set up a different database/schema for each container

[–] [email protected] 1 points 8 months ago (1 children)

I'm getting conflicting replies, so I'll try running separate containers (which was the point of going the docker way anyway - to avoid version dependency problems).

If it doesn't scale well I may just switch back to non-container hosting.

[–] [email protected] 1 points 8 months ago

To elaborate a bit more, there is the MySQL resource usage and the docker overhead. If you run two containers that are the same, the docker overhead will only ding you once, but the actual MySQL process will consume its own CPU and memory inside each container.

So by running two containers you are going to be using an extra couple hundred MB of RAM (whatever MySQL's minimum memory footprint is)

load more comments (3 replies)
load more comments (3 replies)