Hi @idbentlye—you’re right, there were some changes to SSH recently to try to improve the user experience. One of the changes is to launch a login shell based on the shell configured in the image’s /etc/passwd
by default—bash
in your case.
Since your app is located in /app
, I’m guessing that you’re using an older Dockerfile based on the fullstaq-ruby
base image (see here for more details). The Ruby binaries in that image are located in a non-standard directory (e.g. /usr/lib/fullstaq-ruby/versions/3.1.2-jemalloc/bin/ruby
). The Docker image sets the PATH
to find them, but bash
will apparently overwrite it when run as a login shell. I’m wondering if that’s what’s happening to you.
(Interestingly, it looks like the fullstaq-ruby
image recently added a workaround for this, but not all the tags they provide have it.)
For now, my guess is that specifying the shell command manually like this will work:
fly ssh console --pty -C /bin/bash
This should avoid starting bash
as a login shell, so it won’t reset the PATH
.
In any case, thanks for reporting this!