FROM golang:1.24-alpine WORKDIR /app # Copy go.mod and go.sum first COPY go/go.mod go/go.sum ./ # Download dependencies RUN go mod download # Install Air for hot reload (pinned to v1.52.3 for Go 1.24 compatibility) RUN go install github.com/air-verse/air@v1.52.3 # Install sqlc for SQL code generation RUN go install github.com/sqlc-dev/sqlc/cmd/sqlc@latest # Copy source code COPY go/ . # Generate sqlc code RUN sqlc generate # Copy Air config COPY go/.air.toml .air.toml EXPOSE 8080 CMD ["air", "-c", ".air.toml"]