Recommendations for flexible multi host docker

Hi there,
I’ve been using Unraid as my single home server and from there I found many useful LSIO docker and set them up. Now my old host is giving me some trouble so I want to move (most) docker and services apart from pure (backup/hard drive) storage away onto other hosts. Migrating docker container doesn’t look super easy so I’m facing a few challenges I would ask for the communities recommendations.
But first a few base points:

  1. My new (additional) hosts will be running proxmox as hypervisor, mini-pcs with limited ssd storage and ram (16-32GB)
  2. Even though (with above specs) not ideal I’m gonna run ZFS as storage to be able to easily snapshot, backup and sync
  3. The most important services, I’d like to be able to run as high availability, so have one miniserver take over if the other fails. Eventually one will be offsite (at my parents place, which is connected via VPN, but 2 different networks) - and can still take over or at least be migrated EASILY.
  4. What I might be missing about Unraid will be the management interface for docker and the options to keep them updated.

So the questions I have - and most likely they need to be answered collectively.

  • Docker host in VM or LXC?
  • How can the services communicate easily? I heard swarm or k8s/k3s can handle this - haven’t read into it though (ToDo list item)
    • How to handle this in different locations? As in Swag fails in location 1, but nextcloud still runs in location 1 how does it communicate to location 2 Swag?
  • Multiple virtual hosts (1 per service / compose file)? or one ?
  • Migration/HA: Handle this with a Proxmox cluster? (So rather multiple guests that can each be migrated seperately?
    • Or handle this with a container orchestration software?
  • Handling of what is “appdata” in unraid, but also shared data: create a zpool or dataset for each and sync this? Wouldn’t that mean that all those paths need to be replicated exactly the same on both nodes of a cluster? There is surely a more robust way?

Biggest decision is probably whether most management will be via Proxmox Cluster (many guest vms/lxcs) vs container orchestration (only 1-2-3? guests and migration failover is handled by that software). How are others handling this?