結論
ローカルのDockerfile
とfly.toml
を削除すればOK
その後にfly launch
すると、新しいDockerfile
が自動的に生成される
※既に本番環境を動かしている場合は、実験用の新しいブランチを作って、そこで2つのファイルを削除後にfly launch
を実行すれば、現在のアプリに適したDockerfile
が自動的に作られる(このDockerfile
を参考にする)
詳細
既にデプロイ済みのRailsアプリに、ActiveStorageを導入してからfly deploy
して更新しても、本番環境で画像が表示されませんでした。
これは、fly.io上のコンテナに、imagemagick
などの必要なパッケージがインストールされていないからです。つまり、Dockerfile
を書き換えて、パッケージをインストールするように修正しなければなりません。
しかし、自力でDockerfile
に手を加えるのは大変ですし、ミスをするとバグやエラーを生みかねません。なので、ここはfly
コマンドの力を借りて、現在の状態(ActiveStorageを導入した後の状態)を読み取ってもらって、自動的に適切なDockerfile
を生成してもらいましょう。