🖥️
Phoenix をデスクトップアプリとして使う
Phoenix を使ってデスクトップアプリを作成する。
Desktop を使ったり Tauri に Phoenix を組み込んだり することもできるが、UIがただのブラウザでいいなら Phoenix そのままでもできる。
手順
-
rel/vm.args.eex
を編集する。
通常はアプリを起動したら epmd も起動するが、epmd はアプリを殺しても死なないので、CLI から止めないとepmd.exe
が削除できなくなってしまう。そのため epmd が起動しないようにする。## Disable epmd -start_epmd false -dist_listen false
-
rel/overlays/bin/server(.bat)
を編集する。
環境変数をここに追加し、DBのマイグレーションとWebページを開くのをここでやってしまう。set PHX_SERVER=true rem Set the environment variables for the server set DATABASE_PATH=./database.db set SECRET_KEY_BASE=(value generated by `mix phx.gen.secret`) set PHX_HOST=127.0.0.1 set PORT=38306 rem Migrate the database (if use db) call "%~dp0\phx_local" eval MyApp.Release.migrate rem Open the browser start http://%PHX_HOST%:%PORT% call "%~dp0\phx_local" start
-
config/runtime.exs
を編集する。
よくわかっていないが、無編集だと h_ttp://127.0.0.1:<port> にアクセスできない。# ... config :phx_local, MyAppWeb.Endpoint, url: [host: host, port: port, scheme: "http"], http: [ip: {127, 0, 0, 1}, port: port], secret_key_base: secret_key_base # ...
- 通常と同じようにリリース。
MIX_ENV=prod mix assets.deploy
MIX_ENV=prod mix release
Discussion