Hi All,
Happy New Year!
I have a rails application deployed in fly.io. The fly.toml
was generated automatically by fly
CLI.
I have searched the fly documentation on how to launch another process for running sidekiq
and found this. I don’t see any default process like “web” defined in my fly.toml
and the fly.toml
.
Here are fly.toml
contents
processes = []
[build]
[build.args]
BUILD_COMMAND = "bin/rails fly:build"
SERVER_COMMAND = "bin/rails fly:server"
[deploy]
release_command = "bin/rails fly:release"
[env]
PORT = "8080"
[[services]]
http_checks = []
internal_port = 8080
processes = ["app"]
protocol = "tcp"
script_checks = []
And here is Procfile
backend: bin/rails server -p 3000
frontend: bin/vite dev
worker: bundle exec sidekiq
I have modified fly.toml
with multiple process, it is throwing this error message,
web = "bin/rails fly:server"
worker = "bundle exec sidekiq"
[[services]]
http_checks = []
internal_port = 8080
processes = ["web"]
Error Your fly.toml referenced an attribute 'web' but it is unknown. Double check the accepted attributes in fly.toml https://fly.io/docs/reference/configuration
Bit confused about coping with the commands from Procfile
to fly.toml
. How can I run both rails server and sidekiq
worker?
I previously had asked a similar question here, I am a bit concerned about adding below code, as if one process fails entire app will fail to run
fork { sh 'bundle exec sidekiq' }
Could someone help me,
Thanks in advance.