I’m pretty new to the self hosting thing but I’m enjoying it a lot and want to go a bit further down the proverbial rabbit hole.

I’m looking at a bunch of services and they all require a DB, usually a MySQL DB. It seems counterintutitive to have 20 MySQL databases each in its own Docker container. So is there a way to have one DB across most of my services? (I realize that Nextcloud and other bigger items should have a dedicted DB.)

How would I set up a shared DB in a docker-compose file?

  • Moonrise2473@feddit.it
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Sure, I always do like that.

    I do a database docker compose with all the databases so they will get named database-mysql database-mariadb and so on and then i share a docker network (example ’docker network create mariadb’) between the containers that need them. Now they can access directly at mariadb:3306 (in docker compose you can access by the name of the container if you are in the same network)

    I hate when the only option those “all in one” containers with included database, which I need to backup separately then