Our deployments started breaking today. I think you changed something regarding the multi-process deployments today. This fly.toml/Dockerfile worked fine 8 hours ago and it’s now giving the error You specified a process for 'web' but it does not have a command defined. Double check the syntax for the [processes] section of your fly.toml
Do I have to enter something for processes.web now? This used to work and suddenly changed?
With this in the entrypoint:
if [ $# -gt 0 ];then
# If we passed a command, run it as root
exec "$@"
else
# Otherwise start the web server
## Prepare Laravel caches
/usr/bin/php /var/www/html/artisan config:cache --no-ansi -q
/usr/bin/php /var/www/html/artisan route:cache --no-ansi -q
/usr/bin/php /var/www/html/artisan view:cache --no-ansi -q
chown -R webuser:webgroup /var/www/html
exec /init
fi
This worked. I seems like you added a rule that verifies that the process can’t be an empty string. That’s confusing though, because even the default Laravel template for example assumes it can be an empty string. Your docs are too: Cron and Queues · Fly Docs.
Hey sorry about this! We’ve had some people specifying processes = ["some","processes"] which doesn’t work at all at the moment. I added some validation that seems to have accidentally encompassed the empty-string case you have here.
There’s a deploy rolling as we speak that should fix your case.