deploy: Docker compose + entrypoint (pull-loop autosync), Nix revert script, .env (gitignored) for Gitea deploy token

This commit is contained in:
sam
2026-09-09 07:21:44 +10:00
parent 31e9a708cc
commit 9ca027c86f
16 changed files with 514 additions and 0 deletions

27
deploy/docker/Dockerfile Normal file
View File

@@ -0,0 +1,27 @@
# Kontra — GOTH news-opinion site. Self-contained container.
# Build context = /home/sam/Docker/Containers/kontra (has src/{go.mod,go.sum,src/...})
FROM golang:1.26-bookworm AS build
# templ CLI for codegen (generates *_templ.go before build)
RUN go install github.com/a-h/templ/cmd/templ@v0.3.1020
ENV PATH="/root/go/bin:${PATH}"
WORKDIR /src
COPY src/go.mod src/go.sum ./
RUN go mod download
COPY src/src/ ./src/
WORKDIR /src/src
RUN templ generate
RUN go build -trimpath -ldflags="-s -w" -o /kontra-bin .
FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates git openssh-client bash \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=build /kontra-bin /usr/local/bin/kontra-bin
# entrypoint (pull loop + webserver) from runtime mount
COPY entrypoint.sh /usr/local/bin/kontra-entrypoint
RUN chmod +x /usr/local/bin/kontra-entrypoint
EXPOSE 8600
ENTRYPOINT ["/usr/local/bin/kontra-entrypoint", "kontra-bin", "8600"]