11
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ElixirAdvent Calendar 2023

Day 2

気軽に Phoenix Docker Compose の開発環境を構築できるスクリプト

Last updated at Posted at 2023-11-27

mix phx.new の代わりに使える phx-docker-compose-new というスクリプトを書いてみました。

Phoenixアプリの開発環境をDocker Composeで構築すると、アプリのみならずPostgreSQLデータベースやLivebookなども一氣にまとめてセットアップすることができて便利です。

しかしながら、現実は一筋縄ではいかない面もあり、いろんなノウハウが必要となるのも事実です。

そこで、初学者でも気軽にPhoenixアプリの開発環境をDocker Composeで構築できるスクリプトがあればいいんじゃないかと思ったのです。もちろん、ただ思っているだけでは何も変わらないので、すぐに取り組みました。

English version

やりかた

念の為 GitDockerDocker Composeがインストールされているか確認します。

terminal
git version
docker --version
docker compose version

phx-docker-compose-new コマンドのソースコードをダウンロードします。

terminal
git clone https://github.com/mnishiguchi/phx-docker-compose-new.git ~/.phx-docker-compose-new

ターミナルで phx-docker-compose-new コマンドが使えるように偽名を定義します。

terminal
alias phx-docker-compose-new=~/.phx-docker-compose-new/phx-docker-compose-new.sh

phx-docker-compose-new コマンドを用いて Phoenix のサンプルアプリを生成します。

terminal
phx-docker-compose-new sample_phx_app --no-assets --no-gettext --no-mailer

生成されたアプリのディレクトリに入り、アプリを起動します。

terminal
cd sample_phx_app

bin/start

以下の URL にアクセスして今すぐ Phoenix アプリを開発できます!

docker-compose-demo 2023-11-23 09-44-06.png

ログを見てみます。ログを閉じるときは「Ctrl + C」を押します。

terminal
bin/logs --follow

Elixir の対話コンソール(IEx)は以下のコマンドで起動できます。

terminal
bin/console

せっかく IEx を開いたのでプロセスの一覧を表示してみましょう。

IEx
IEx.configure inspect: [limit: :infinity]

for pid <- Process.list, do: {pid, Process.info(pid, :registered_name) |> elem(1)}

アプリの停止は以下のコマンドで行います。

terminal
bin/stop

:tada::tada::tada:

Elixir 言語を使ってサーバーの費用を $2 Million/年 節約できたというウワサがあります。

Livebook

ちょうど昨日のElixir Advent Calendar 2023 Day 1Livebook関連の記事がいくつかありました。

他にもElixirコミュニティの有志の方々が書かれた為になる記事がたくさんあります。ネットで検索してみてください。

さいごに

これでいつでも気軽に Phoenix アプリ開発環境の構築ができます。

本記事は autoracex #259 の成果です。ありがとうございます。

toukon-qiita-macbook_20230912_091808.jpg

11
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?