Add Technical Kiwi website with Go, templ, and HTMX.

Single-page site with gallery by album and event, contact form over SMTP,
Docker dev/prod setup, and on-server image derivatives. Gallery photos stay
local (app/images/ is gitignored).

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-05-25 23:57:59 +12:00
parent c21be097b0
commit 509e7ccb43
33 changed files with 2635 additions and 1 deletions

29
Dockerfile Normal file
View File

@@ -0,0 +1,29 @@
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"]