aurganize-backend/backend/DockerFile.dev

33 lines
722 B
Plaintext

# backend/Dockerfile.dev
# Development Dockerfile with hot reload support
# Stage 1: Base image with Go tools
FROM golang:1.21-alpine AS base
# Install developement tools
# - git: Required for go get
# - gcc, musl-dev: Required for CGO (some packages need C compiler)
# - air: Hot reload tool for GO
RUN apk add --no-cache \
git \
gcc \
musl-dev && \
go install github.com/air-verse/air@latest
# Set working directory
WORKDIR /app
# Stage 2: Development environment
FROM base as development
# Copy dependency files first (for layer caching)
COPY go.mod go.sum./
# Download dependencies
# This layer is cached unless go.mod or go.sum changes
RUN go mod download
# Copy Air configuration
COPY .air.t