We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
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.