🪂

Fly.ioでRailsアプリをデプロイしてみた

2023/07/09に公開

はじめに

  • railsアプリをFly.ioでデプロイを試したことを簡潔にまとめました
    • DBはPostgreSQL
    • UserモデルをScaffoldで作成
  • デプロイでやることをパッと確認したい人向けに書いています。

環境

  • macOS Ventura 13.3.1
  • Ruby 3.2.2
  • Rails 7.0.6

手順

アカウント作成

こちらからアカウントを作成

クレジットカード情報を入力

ダッシュボードの「Add a payment method」からクレジットカード情報を入力

flyctl をインストールする

flyctl: アプリを管理するためのCLIアプリ

$ brew install flyctl

ログイン

$fly auth login
Opening https://fly.io/app/auth/cli/274a081a150483aef0a4bb62d1ea3c4b ...

Waiting for session... Done
successfully logged in as [your email]

railsアプリの準備

DBはpostgresql。テストはなし。

$ rails new fly_sample -d postgresql -T
$ cd fly_sample
$ rails db:create
$ rails g scaffold User name
$ rails db:migrate
routes.rb
Rails.application.routes.draw do
  resources :users
  # root_pathを設定
  root "users#index"
end

RailsとPostgresサーバーのプロビジョニング

$ fly launch

# アプリケーション名を指定(=> enterで自動で作成される)
? Choose an app name (leave blank to generate one):

# リージョンを指定(=> Tokyoを選択)
? Choose a region for deployment:
> Tokyo, Japan (nrt)

# PostgreSQLをセットアップ
? Would you like to set up a Postgresql database now? Yes

# 構成の選択(=> Developmentを選択)
? Select configuration: 
Development - Single node, 1x shared CPU, 256MB RAM, 1GB disk

# リソースの使用を停止し、ノードをシャットダウンするか(=> hobbyのためNo)
? Scale single node pg to zero after one hour? No

# Redisのセットアップ(=> 今回は不要)
? Would you like to set up an Upstash Redis database now? No

デプロイ

$ fly deploy

動作確認

アプリケーションにアクセス

$ fly open

Discussion