FROM golang:1.25.1-alpine AS build RUN apk add --no-cache curl libstdc++ libgcc alpine-sdk npm WORKDIR /app # Install sass for SCSS compilation RUN npm install -g sass COPY go.mod go.sum ./ RUN go mod download COPY . . # Compile SCSS to CSS # Install Sass RUN npm install -g sass # Compile SCSS RUN sass web/assets/scss/main.scss web/assets/css/output.css --style=compressed RUN CGO_ENABLED=1 GOOS=linux go build -o main cmd/api/main.go FROM alpine:3.20.1 AS prod WORKDIR /app COPY --from=build /app/main /app/main COPY --from=build /app/internal/web/assets /app/internal/web/assets EXPOSE ${PORT} CMD ["./main"]