[-] thomas@lemmy.zell-mbc.com 20 points 1 year ago* (last edited 1 year ago)

You would expose the port to your host which makes the db acessible by anything running on the host, docker or native. Something like

`port

  • 5432:5432 `

But I would recommend running a dedicated db for each service. At least that's what I do.

  • Simpler setup and therefore less error-prone
  • More secure because the db's don't need to be exposed
  • Easier to manage because I can independently upgrade, backup, move

Isn't the point about containers that you keep things which depend on each other together, eliminating dependencies? A single db would be a unecessary dependency in my view. What if one service requires a new version of MySQL, and another one does not yet support the new version?

I also run all my databases via a bind mount

`volume

  • ./data:/etc/postgres/data...`

and each service in it's own directory. E.g. /opt/docker/nextcloud

That way I have everything which makes up a service contained in one folder. Easy to backup/restore, easy to move, and not the least, clean.

[-] thomas@lemmy.zell-mbc.com 2 points 1 year ago

For me it's Borg backup for Nextcloud an all the other servers

thomas

joined 1 year ago