No space left on device - Turboku

I’m on a Hobby plan with my personal Fly account.

I have 2 other Heroku migrated apps running on Fly using the same project structure as my current application.

When I try to host it, I get a “frontend/node_modules/neo-async/LICENSE: Cannot open: No such file or directory”

“frontend/node_modules/neo-async: Cannot mkdir: No space left on device”

I’m assuming that this is because I have exhausted my free resources?

A more appropriately named error message would be asking me to upgrade to a payment plan.

Would love insight.

https://github.com/joqim/wilson

Hi @joqim! Are you using a remote builder? If so, it looks like it’s run out of space (they get a 50 GB volume, and it can fill up).

We’ve been discussing how to prevent this from happening, but for now, an easy solution is just to destroy the remote builder app (fly apps destroy fly-builder-xyz, replacing fly-builder-xyz with the builder app you see in the dashboard or fly apps list). A new one will be created on the next deploy.

Hi @MatthewIngwersen , I tried deleting the builder apps and re-deploying from Heroku. Still no luck.

I’ve attached more logs showing health checks in warning state.

Interesting. I’m sorry that that didn’t fix it!

  • Are you still seeing the original “no space left on device” error, or has that one been resolved?
  • Did you initially deploy this using the online launcher (https://fly.io/launch/heroku) or with flyctl?
  • Would you be willing to post your fly.toml (with any personal information removed)?

The logs you posted indicate that your app is starting, but it looks like it’s exiting almost immediately (notice the “starting clean up” lines are only a second after the “preparing to run” lines). The “preparing to run” line shows that the command being run is /bin/bash /app/entrypoint.sh. I would have expected this to be /bin/bash /app/entrypoint.sh npm start, since npm start is specified in the Procfile in the Git repository you linked. Your fly.toml would have something like this:

[processes]
  app = "npm start"

Thank you for following up.

  1. I no longer see “no space left on device”
  2. I deploy via “flyctl turboku heroku-app-name heroku-api-token [flags]”
  3. C:\Users\STSC>flyctl config show -a willy

Update available 0.0.524 → v0.0.539.
Run “flyctl.exe version update” to upgrade.
{
“app”: “willy”,
“env”: {
“PRIMARY_REGION”: “iad”
},
“experimental”: {
“auto_rollback”: true,
“private_network”: true
},
“kill_signal”: “SIGINT”,
“kill_timeout”: 5,
“processes”: ,
“services”: [
{
“concurrency”: {
“hard_limit”: 25,
“soft_limit”: 20,
“type”: “connections”
},
“http_checks”: ,
“internal_port”: 8080,
“ports”: [
{
“force_https”: true,
“handlers”: [
“http”
],
“port”: 80
},
{
“handlers”: [
“tls”,
“http”
],
“port”: 443
}
],
“processes”: [
“app”
],
“protocol”: “tcp”,
“script_checks”: ,
“tcp_checks”: [
{
“grace_period”: “1s”,
“interval”: “15s”,
“restart_limit”: 0,
“timeout”: “2s”
}
]
}
]
}

I noticed as you mentioned that

[processes]
app = “npm start”

is not we are expecting. Will updating the toml file fix it? If so, how do I edit it?

Thanks for the update!

Running turboku should create a new directory with the same name as your app in your current working directory. It will output a few files in that new directory, including a fly.toml. A code editor if you use one, or just plain Notepad, should work fine for editing it. Try adding

[processes]
app = "npm start"

and deleting a conflicting processes = [] or similar line if one exists. Then you can cd into the directory with the fly.toml and run fly deploy to redeploy the app with the changes.


Just general info:

The [processes] section of fly.toml (docs) is like Heroku’s Procfile. Running turboku should translate your Heroku app’s processes into this section. (FYI Heroku’s web process will get renamed to Fly’s default, app.) It looks like this translation may not be happening correctly, which may be a bug in flyctl.

Please let me know if the above fix works; if so, I may ask for some more details to try to track down why this didn’t get set automatically for you.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.