ARG GO_VERSION=1.25
FROM golang:${GO_VERSION}-bookworm AS builder

RUN go install github.com/a-h/templ/cmd/templ@latest

WORKDIR /build
COPY app/go.mod app/go.sum ./
RUN go mod download

COPY app/ ./
RUN templ generate && CGO_ENABLED=0 go build -ldflags="-s -w" -o /server ./cmd/server

FROM debian:bookworm-slim

RUN apt-get update \
	&& apt-get install -y --no-install-recommends ca-certificates \
	&& rm -rf /var/lib/apt/lists/*

WORKDIR /app

COPY --from=builder /server ./server
COPY app/static ./static
COPY app/images ./images
RUN ./server -thumbs

EXPOSE 8080
ENV ADDR=:8080

CMD ["./server"]
