FROM golang:1.25-alpine AS build
WORKDIR /src
RUN apk add --no-cache git ca-certificates
COPY go.mod go.sum* ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o /out/server ./cmd/server

FROM alpine:3.20
RUN apk add --no-cache ca-certificates tzdata
WORKDIR /app
COPY --from=build /out/server /app/server
COPY static /app/static
RUN mkdir -p /app/uploads && cp /app/static/placeholder-cover.svg /app/uploads/placeholder-cover.svg
ENV UPLOAD_DIR=/app/uploads
EXPOSE 8080
ENTRYPOINT ["/app/server"]
