FROM golang:1-alpine AS build
WORKDIR /src
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o /gallery ./cmd/gallery

FROM alpine:3
RUN apk add --no-cache imagemagick imagemagick-jpeg imagemagick-heic imagemagick-webp exiftool
COPY --from=build /gallery /usr/local/bin/gallery
RUN addgroup -g 1000 gallery && adduser -D -H -u 1000 -G gallery gallery
USER gallery
ENV GALLERY_PHOTOS=/photos GALLERY_CACHE=/cache GALLERY_ADDR=:8080
EXPOSE 8080
ENTRYPOINT ["gallery"]
