Running different instances of one application on multiple ports using libcluster

I have tested this on a Phoenix without libcluster and it works for me.

I also have a libcluster, swarm project, but it uses Cowboy instead of Phoenix.

This might not help You, but I use Epmd strategy, and my config is standard to libcluster doc.

config :libcluster, topologies: [
  example_1: [
    strategy: Cluster.Strategy.Epmd,
    config: [hosts: [
      :node1@localhost,
      :node2@localhost,
      :node3@localhost,
    ]],
  ],

  example_2: [
    strategy: Cluster.Strategy.Gossip,
  ]
]

and I start nodes like this

$ iex --sname node1@localhost -S mix
$ PORT=4001 iex --sname node2@localhost -S mix
$ PORT=4002 iex --sname node3@localhost -S mix

It works, but this is not using Phoenix, but Cowboy.