ローカルでの実行には以下のツールが必要です。
これに加えて、開発には以下のツールが必要です。
次のコマンドでローカルに API サーバーを起動します。
これはリリースごとに push される ghcr.io/sohosai/sos21-backend
イメージを用いています。
$ export SOS21_FIREBASE_PROJECT_ID=<project ID>
$ export SOS21_ADMINISTRATOR_EMAIL=<email address>
$ docker-compose -f docker-compose.run.yml up
localhost:3000
で API サーバーが、
localhost:4010
で Prism の Validation Proxy を経由した API サーバーが利用できます。
ビルドの依存関係の固定に Nix を用いています。
Cachix をインストールし、 cachix use sos21-backend
するとバイナリキャッシュを利用できます。
$ cp .envrc.sample .envrc # edit .envrc
$ source .envrc # or use direnv
$ docker-compose -f docker-compose.dev.yml up -d
$ nix-shell
$ cargo run --bin sos21-api-server
Prism の Validation Proxy が localhost:4010
から利用できます。
nix-shell
内で次のコマンドを実行し、マイグレーションを適用します。
$ cd sos21-database
$ sqlx migrate run
詳しくは sos21-database
を参照してください。