FROM golang:1.18.0-alpine

# Docker上での作業ディレクトリへ移動
WORKDIR /usr/src/app

# ログに出力する時間をJSTにするため、タイムゾーンを設定
ENV TZ /usr/share/zoneinfo/Asia/Tokyo

# ModuleモードをON
ENV GO111MODULE=on

# ホットリロード用にAirをインストール
RUN go install github.com/cosmtrek/air@latest

# マイグレーション用にgolang-migrate（MySQL）をインストール
RUN go install -tags mysql github.com/golang-migrate/migrate/v4/cmd/migrate@latest

# ホットリロード用の設定ファイルをコピー
COPY ./app/.air.toml ./.air.toml

# コンテナ起動時に実行されるコマンド
CMD ["/bin/sh", "-c", "air"]