Remove nginx/webapp container; single Go server serves SPA + API
- Add root Dockerfile: node build → copy dist into Go embed path → distroless binary - Update docker-compose: one service (api on :9050), DB renamed ralph→pamietnik - Remove references to RALPH/reisejournal across all docs and configs Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
24
Dockerfile
Normal file
24
Dockerfile
Normal file
@@ -0,0 +1,24 @@
|
||||
# Stage 1: Build Vite SPA
|
||||
FROM node:22-alpine AS webapp-builder
|
||||
WORKDIR /webapp
|
||||
COPY webapp/package.json webapp/package-lock.json ./
|
||||
RUN npm ci
|
||||
COPY webapp/ ./
|
||||
RUN npm run build
|
||||
|
||||
# Stage 2: Build Go server
|
||||
FROM golang:1.25-alpine AS go-builder
|
||||
WORKDIR /app
|
||||
COPY backend/go.mod backend/go.sum ./
|
||||
RUN go mod download
|
||||
COPY backend/ ./
|
||||
# Inject built SPA into embed path
|
||||
COPY --from=webapp-builder /webapp/dist ./internal/api/webapp/
|
||||
RUN CGO_ENABLED=0 GOOS=linux go build -o /server ./cmd/server
|
||||
RUN CGO_ENABLED=0 GOOS=linux go build -o /createuser ./cmd/createuser
|
||||
|
||||
# Stage 3: Minimal runtime image
|
||||
FROM gcr.io/distroless/static-debian12
|
||||
COPY --from=go-builder /server /server
|
||||
COPY --from=go-builder /createuser /createuser
|
||||
ENTRYPOINT ["/server"]
|
||||
Reference in New Issue
Block a user