Can't connect to node

I’m a tad puzzled and I’m sure it’s a really, really silly mistake I’m making.
My release is built in a docker container and deployed to Fly.io. It is started with the usual ./release start.
Cookie and various options are both set at build time and in the env.sh.eex file.
Yet, I can’t attach to the running node (which is otherwise behaving fine). I get a nodedown error:

./root@9185235dc67738:/app# ./bin/web remote
Erlang/OTP 24 [erts-12.3.2.15] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [jit]
Could not contact remote node my-app@[SOME_IPV6], reason: :nodedown. Aborting...

Please note that I’ve read the following:

I’ve confirmed that all my env variables are set properly… Including during build via the Dockerfile. So I’m not sure what to check at this point.

Any ideas please?
Thanks!

Ok so a quick update. I seem to have played enough with all combinations of variable to get something that works.

Interestingly, the set of variables that seem to make things work seems to be in direct in contradiction with Fly’s recommendations.

To get things to work, I had to:

  • Remove ECTO_IPV6 from the runtime Dockerfile.
  • Remove ERL_AFLAGS from both the runtime Dockerfile and env.sh.eex.

So in case it’s useful to someone - I’m left with the following:

  • At build time, no particular variable is set except of course for MIX_ENV=prod.
  • At run time, MIX_ENV=prod is in the Dockerfile - but I guess it doesn’t matter - it could probably be in env.sh.eex.
  • At run time, I’m of course setting RELEASE_DISTRIBUTION and RELEASE_NODE in the transpiled env.sh and ELIXIR_ERL_OPTIONS="-proto_dist inet6_tcp".

That’s it…

So what seems to have made a difference here is to leave ERL_AFLAGS alone at runtime.
Isn’t this contradicting what most people have observed, as well as what Fly recommends?

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.