Most of the threads I’ve found on other sites (both Reddit and the Synology forums) have basically said “go with Docker”. But what do you actually gain from this?

People suggest it’s more up-to-date, and maybe for some packages that’s true? But for Nextcloud specifically it looks pretty good. 32.0.3 came out 1 day ago and isn’t yet supported, but the version immediately preceding that, from 3 weeks ago, is.

I’ve never done Nextcloud before, but I would assume installing it via the Package Center would be way easier to install and to keep up-to-date than Docker. So what’s the reason everyone recommends Docker? Is it easier to extend?

  • atzanteol@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    3
    ·
    2 days ago

    Flatpaks are similar, but more aimed at desktop applications. Docker containers are made for services and give more isolation on the network.

    Docker containers get their own IP addresses, they can discover each other internally, you get port forwarding, etc. Additionally you get volume mounts for persistent storage and other features.

    Docker compose allows you to bring up multiple dependent containers as a group and manage connections between them, with persistent volumes. It’ll handle lifecycle issues (restarting crashed containers) and health checks.

    An example - say you want a Nextcloud service and an immich service running on the same host. You can create two docker-compose files that launch both of them, each with its own supporting database, and give each db and application persistent volumes for storage. Your applications can be exposed to the network and the databases only internally to other containers. You don’t need to worry about port conflicts internally since each container is getting its own IP address. So those two MySQL DBs won’t conflict with each other. All you need to do is ensure that publicly available services have a unique port forwarded to them. So less to keep track of.