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"]