I am able of deploying my app, both the web app process and my worker processes.
When I log into a machine via flyctl ssh console --app 'my_app', while I do get access to the machine, the environment that is set up for me isn’t exactly what the Dockerfile says.
In particular, the Dockerfile modifies PATH so I can use the python version from .venv instead of the /usr/bin/python. Why? because the .venv version has all the PIP packages I need.
Disclaimer, this works perfectly in the processes being run, my problem is only while connecting via SSH.
In the Dockerfile:
ENV PATH="/.venv/bin/:$PATH"
If I just log in via ssh, and run printenv PATH, I can clearly see venv is not there.
So if I then run python, and use “import redis” or any other import from packages that are installed, they of course are not found, as I’m using /usr/bin/python instead of ./venv/bin/python
I can run it manually doing PATH="/.venv/bin/:$PATH" python to overwrite the environment variable and then I can run things as I intended, but that is not what I would expect.
To be absolutely clear, I would expect the environment variables to still be set, instead of only having the ones from fly.production.toml
Any ideas on to how to fix this is appreciated