Fly.io へデプロイする

原文: Deploy to a Fly.io ── © Louis Pilfold and the Gleam contributors, Apache-2.0。日本語訳 © 2026 Canonical。

Fly.io は便利で使いやすいデプロイ基盤(platform)です。Gleam プロジェクトの初期からのスポンサーでもあります。Fly、ありがとう!

アプリケーションを準備する

アプリケーションが 0.0.0.0 で待ち受けるようにしてください。Mist や Wisp を使用している場合は、次のように mist.bind 関数で設定できます。

let assert Ok(_) =
  wisp_mist.handler(handle_request, secret_key_base)
  |> mist.new
  |> mist.bind("0.0.0.0") // <- この行を追加する
  |> mist.port(8000)
  |> mist.start_http

アプリケーションがどのポートで起動するかを覚えておいてください。本ガイドでは以降、ポート 8000 を使用します。

Dockerfile を作る

Fly のコンテナ対応を利用すれば、アプリケーションをビルドしてデプロイの準備を整えることができます。

Dockerfile という名前のファイルを作成し、以下の内容を記述します。

FROM erlang:27.1.1.0-alpine AS build
COPY --from=ghcr.io/gleam-lang/gleam:v1.8.0-erlang-alpine /bin/gleam /bin/gleam
COPY . /app/
RUN cd /app && gleam export erlang-shipment

FROM erlang:27.1.1.0-alpine
RUN \
  addgroup --system webapp && \
  adduser --system webapp -g webapp
USER webapp
COPY --from=build /app/build/erlang-shipment /app
WORKDIR /app
ENTRYPOINT ["/app/entrypoint.sh"]
CMD ["run"]

Fly.io の CLI を用意する

Fly のウェブサイトの手順に従って、Fly.io プラットフォームのコマンドラインインターフェースである flyctl をインストールしてください。

インストールが完了したら、CLI からサインアップします(すでに Fly.io のアカウントをお持ちの場合はログインします)。

fly auth signup
# または
fly auth login

アプリケーションをデプロイします。

プロジェクトのディレクトリ内で Fly の CLI を使用し、アプリケーションを Fly のプラットフォーム上に作成して稼働させます。

flyctl launch

CLI からはいくつか質問されます。

  • アプリケーションの名前。
  • アプリケーションが所属する Fly の organisation(組織)。
  • アプリケーションをデプロイするリージョン。
  • アプリケーション用の PostgreSQL データベースが必要かどうか。

これらに回答すると、Dockerfile を使用してアプリケーションがビルドされます。デプロイが完了したら、flyctl open を実行してウェブブラウザで開くことができます。

以降、アプリケーションの新しいバージョンをデプロイするには、ソースコードの変更を保存した後に flyctl deploy を実行します。

原文: Deploy to a Fly.io(https://gleam.run/deployment/fly/)

原文の commit: d5d2c91fcc65aa4e9fa2ac70a9ab397c53a1c92d(pages/deployment/fly.djot)

ライセンス: Apache-2.0。訳: 水無瀬[PL]、2026-09-16。

© 2026 Canonicalgleam.canon-ical.com