Stage raw files in upload/, publish with make sync-media/publish, and polish the lightbox: autoplay, remembered volume, Escape to close, and image/video icons without poster or caption clutter. Co-authored-by: Cursor <cursoragent@cursor.com>
29 lines
589 B
Docker
29 lines
589 B
Docker
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 ffmpeg \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
|
|
COPY --from=builder /server ./server
|
|
COPY app/static ./static
|
|
|
|
EXPOSE 8080
|
|
ENV ADDR=:8080
|
|
ENV IMAGES_DIR=/app/images
|
|
|
|
CMD ["./server"]
|