FROM golang:1.23-alpine AS build WORKDIR /app COPY go.mod ./ RUN go mod download COPY cmd ./cmd COPY templates ./templates COPY static ./static RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o /farmcal ./cmd/server FROM alpine:3.21 WORKDIR /app RUN adduser -D -H appuser USER appuser COPY --from=build /farmcal /app/farmcal COPY templates ./templates COPY static ./static EXPOSE 8080 ENV APP_ADDR=:8080 CMD ["/app/farmcal"]