So I’m in the process of (re-) setting up my homelab and unsure about how to handle databases. Many images require a database, which the docker-compose usually provides inside the stack.

Now my question, shall I have 1 database container which is accessed by all containers? Or shall I have a separate container for each service?

For critical services, which shall have as few dependencies as possible I’m already using sqlite or a similar solution.

Also on a sidenote: I have two docker hosts, can I let the containers of 1 hypervisors use the same internal docker network?

TIA!

  • Ruud@lemmy.worldM
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    1 year ago

    Backup / restore gets complicated if you have multiple apps in 1 dB

    • jsnfwlr@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      No one said a single DB. You can have multiple DBs in a single container, and then use something like databacker/mysql-backup container which solves the complexity of multiple db backups for mariaDB and MySQL

      • Ruud@lemmy.worldM
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        Yes, terminology… I mean single instance. And although you can create pg_dumps of separate databases, a true (online) backup of separate databases is difficult. Tools like pgbackrest or barman don’t support it. (I mainly focus on Postgres)