We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Post 22
Game Site Journal - 13 Fly.io Deployment issues
Published on: 2025-04-28
Tags:
elixir, Blog, Side Project, LiveView, Game Site, Fly, Deployment
So let me start off by saying that it was simple an issue where some of my files were opened from windows or a scanner changed the format from LF to CRLF... I was running into issues with the deploy not working. I'll explain the solution rq so that it's at the top. I was able to find the issues by systematically going through older commits till I found one that worked. Once I had a working one I did: git diff <working branch id> from the master branch. This gave me a list of changes and as I was scrolling down I was able to see a bunch of lines that ended with ^M which is a WINDOWS format and Fly.io needs Linux... While I was in my VSCode editor I was simply able to click on the CRLF and swap the format to the LF. Now let's go over some of the things that I did to figure out that it wasn't the migration or some many other things. So first and foremost I wanted to be sure that the user on the local computer had the proper permissions: ls -l rel/overlays/bin -rwxr-xr-x 1 vinny vinny 99 Apr 28 10:58 migrate -rwxr-xr-x 1 vinny vinny 52 Apr 28 10:27 migrate.bat -rwxr-xr-x 1 vinny vinny 91 Apr 28 10:27 server -rwxr-xr-x 1 vinny vinny 49 Apr 28 10:27 server.bat This shows that: user vinny has read(r) write(w) execute(x) group permissions has r x permissions and others have rx permissions So we know that local permissions were not the issue Next I wanted to ssh into the remote server and see what kind of issues there was, it was saying that: 2025-04-28T17:51:17.367 app[4d89664a452578] sjc [info] ERROR Error: failed to spawn command: /app/bin/migrate: No such file or directory (os error 2) Which made me feel that I was having issues with it not even being on the server fly ssh console # To ssh to the server with a console ls -l /app/bin/migrate # This showed -rwxr-xr-x 1 nobody root 96 Apr 24 02:32 /app/bin/migrate Which is what we wanted... Next I tried to manually run the script from the server /app/bin/migrate 18:52:19.672 [info] Migrations already up Which is what we wanted... Next I tried to run it as nobody runuser -u nobody -- /app/bin/migrate 19:04:36.875 [info] Migrations already up Which is what we wanted... The last thing that I tried was to manually swap the USER to root and insert the release_command = 'runuser -u nobody -- /app/bin/migrate' into the fly.toml That didn't work either... This was about the time that I just tried to use github source control and found the ^M that I was worried about.