開発環境については、Docker で管理しています。
- Next.js
- NestJS
- Prisma
- MySQL
- Redis
- GraphQL
$ brew install docker
$ docker-compose up --build -d
apps/server の環境変数定義した後、 apps コンテナに入り、マイグレーションを実行します。
$ docker exec -it beginwrite-apps-1 bash
$ pnpm prisma migrate dev
その後、http://localhost:3000 にアクセスして、サーバーが正常に動いているか、確認します。
開発環境では MinIO で画像ファイル保存用のストレージサーバを構築しています。 以下で、使用できるようにセットアップします。
コンソールからバケットをセットアップします。
- 左のメニューにある
Buckets
をクリック - 右上の
Create Bucket
をクリック - 画面に従って、
develop
という名前でバケットを作成する (name 以外の項目の設定は不要)
コンソールからアクセスキーをセットアップします。
- 左の
Access Key
をクリック - 右上にある
Create Access Key
をクリック - name だけ入力します
- フォームの create を押して、アクセスキーを作成します
- アクセスキーとシークレットキーが発行されるので、コピーします
- apps/server の環境変数
AWS_ACCESS_KEY
,AWS_SECRET_KEY
にそれぞれ設定します
画像を匿名でも閲覧できるように、設定を変更します。
- MinIO のコンソールにアクセスします
- 左のサイドメニューから
Buckets
を選択します - develop を選択すると、左下に
Anonymous
という項目が出るのでクリックします - 右上の
Add Access Role
をクリックして、以下ルールを追加します
Prefix: *
Access: readonly