アプリの外部にある `Procfile` を読み込んで、アプリ起動時の処理を一括で担ってくれる。

Procfileはシェルスクリプトファイルのような感じで、処理を記述できる。

個人的には、わざわざforemanっていうGemを使わなくてもDockerを使っていれば内包されている処理だと思うので不要かな。

Dockerを使っていない場合は、ありかも。

ただ、その場合はRailsアプリの起動に以下のコマンドを使用する必要がある。

# foremanを使ってアプリを起動
$ foreman start -f Procfile

# foremanを使わないでアプリを起動
$ rails s

ユースケース

フロントエンドのサーバーを一緒に立ち上げる時とか、Railsの標準以外のパッケージを使っていたり、 `$ rails s` だけでアプリを立ち上げるのが困難な時、かつDockerを使っていない時には有効。