initial commit
This commit is contained in:
commit
23816d00f7
71 changed files with 14497 additions and 0 deletions
37
Dockerfile
Normal file
37
Dockerfile
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
# Production build for go-doc.
|
||||
# Build context must be the workspace root (/home/dnoulet/go).
|
||||
# Documents under go-doc/data/docs are copied into the image at /data/docs.
|
||||
# Persistence must mount only /data/comments so this tree stays visible.
|
||||
FROM node:22-alpine AS frontend
|
||||
|
||||
WORKDIR /src/frontend
|
||||
COPY go-doc/frontend/package.json go-doc/frontend/package-lock.json ./
|
||||
RUN npm ci --no-audit --no-fund
|
||||
COPY go-doc/frontend/ ./
|
||||
RUN npm run build
|
||||
|
||||
FROM golang:1.27-alpine AS builder
|
||||
|
||||
RUN apk add --no-cache git ca-certificates
|
||||
|
||||
WORKDIR /src
|
||||
COPY go-doc/backend/go.mod go-doc/backend/go.sum ./
|
||||
RUN go mod download
|
||||
|
||||
COPY go-doc/backend/ backend/
|
||||
COPY --from=frontend /src/frontend/dist/ backend/webui/dist/
|
||||
COPY go-doc/data/docs /staged/docs
|
||||
RUN chmod -R a+rX /staged/docs && mkdir -p /empty/comments
|
||||
RUN cd backend && CGO_ENABLED=0 go build -trimpath -ldflags '-s -w' -o /out/godoc .
|
||||
|
||||
FROM gcr.io/distroless/static-debian12:nonroot
|
||||
|
||||
COPY --from=builder /out/godoc /godoc
|
||||
COPY --from=builder /staged/docs /data/docs
|
||||
COPY --from=builder /empty/comments /data/comments
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
ENV GO_DOC_DATA_DIR=/data
|
||||
|
||||
ENTRYPOINT ["/godoc", "-addr", "0.0.0.0:8080"]
|
||||
Loading…
Add table
Add a link
Reference in a new issue