In order to set up Tailscale-based access to a CrunchyBridge Postgres database, I’ve taken a long journey to understand and test the approach here on community.fly.io (Dockerfile for elixir/phx umbrella app w/ tailscale, overmind, honeymarker) by
@ryansch (also consulted approach in comments there by @zachallaun).
Though that approach doesn’t explicitly include a database migration step, I added a release_command to handle that using the same Overmind/Procfile approach. Everything is working for the migration step in terms of connecting to the db (independent test in Release.ex using Postgrex/psql), up to the point where I reach an error where it seems the Migrator module can’t acquire its connection to lock the schema_migrations table. But that’s not the main issue.
Taking a break from the migration issue, I removed the release command and expected the deploy to work, by virtue of the Entrypoint, CMD, app-specific (not migrate) Procfile, and entrypoint / scripts that tested ok for the migrate-specific Procfile.
However, the deploys just hang at the “Monitoring deployment” step, without any useful log messages, using fly deploy --verbose --remote-only
.
Even when trying this with a separate, simple Elixir/Phoenix app using the same files/approach, it hangs. Then for that simple app, when I checkout an earlier commit with a known-good (succeeded earlier) fly.io / Dockerfile configuration (the one given by fly launch), I get the same result (which differs from earlier success).
That leads me to wonder if there is some state that remains across deploys, whenever Overmind executed at least once for a given app’s deploy release_command
.
I’ll keep taking a close look, but seem to be at wit’s end at the moment.