HOME = / vs /root

I had trouble running ./manage.py commands on a fly.io app I deployed today, whereas I had no trouble on one I created a few weeks ago. (The trouble was Python not being able to find Django, despite the fact that the live-in-production app was serving Django content just fine.) After much hair-pulling and troubleshooting, I noticed that on the working app, my home directory is /root whereas on the non-working app, my home directory is /. (su root unblocks me on the acute problem.)

Comparing the Dockerfiles, fly.tomls, and pyproject.tomls, I can’t spot a meaningful difference. I followed the same tutorial for both apps. The only thing that’s really changed is when I first deployed. I’m not steeped enough in Docker esoterica to understand what’s really going on here… can anyone help?

Ah, it seems it’s not a fly.io behavior. One of the base container layers must have changed. Re-deploying the app where this was working as expected has caused it to now exhibit the same behavior with no code changes.