以下の環境変数をルート直下の.env
に記述
MYSQL_HOST=ホスト名 #(例:mysql)
MYSQL_USER=ユーザー名 #(例:root)
MYSQL_PORT=ポート #(例:3306)
MYSQL_PASSWORD=パスワード #(例:password)
MYSQL_DATABASE=DB名 #(例:my_db)
TZ=タイムゾーン #(例:Asia/Tokyo)
NEXTJS_PORT=Next.jsのポート #(例:8080)
インストール
docker compose run --rm nextjs-app npm i
# モジュールを新しくインストールする場合は以下
docker compose run --rm nextjs-app npm i {モジュール名}
以下のコマンドでコンテナ起動
docker compose up -d
コンテナを修了する
docker compose down
起動しているプロセスを確認
docker ps
コンテナの中に入る
docker exec -it {コンテナ名} sh
MySQLにログイン
mysql -u root -p # この次にパスワードを入力
/app
:Next.jsのアプリ/app/src/pages
:ページを作成する/app/src/pages/api
:APIを作成する/app/src/features
:画面・機能ごとに使うコンポーネントを作成- 下階層
/home
:ホーム画面/message
:メッセージ画面/signin
:サインイン画面/signup
:サインアップ画面/timeline
:タイムライン機能
- 下階層
/app/src/application
:共通で使うコンポーネントや関数を作成- 下階層
/lib
:関数/providers
:プロバイダー/types
:型ファイル/UI
:共通コンポーネント(ヘッダー・フッターなど)
- 下階層
/initdb.d
:初期化のSQL
Container・Presentationalについて
Container:コンポーネントのロジックを記述
Presentational:コンポーネントのUIを記述
実装例はfeatures/signin内のコンポーネントを参照