So far, whenever I started the Rails app, I launched these supporting processes in multiple terminal windows. This week, I learned a new way to do this using a single command using the Foreman gem, which has saved me a lot of time.
Here's a simple way to achieve this, inspired by the tailwindcss-rails gem.
Step 1: Create an executable dev file in the bin/ directory
cd bin touch dev chmod 755 bin/dev
Step 2: Add Foreman script to your bin/dev file
#!/usr/bin/env bash if ! command -v foreman &> /dev/null then echo "Installing foreman..." gem install foreman fi foreman start -f Procfile.dev
Step 3: Add the procfile
web: bin/rails server -p 3000 css: bin/rails tailwindcss:watch js: .. mysql: .. redis: ..
Now all you have to do is run the
bin/dev command from the root of your rails application, and Foreman takes care of starting the processes listed in the Procfile.
I hope that helps.