49 lines
1.2 KiB
Docker
49 lines
1.2 KiB
Docker
FROM node:24-bookworm-slim AS frontend
|
|
|
|
WORKDIR /app
|
|
|
|
RUN corepack enable && corepack prepare pnpm@11.21.0 --activate
|
|
|
|
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
|
COPY frontend/package.json frontend/package.json
|
|
|
|
RUN pnpm install --frozen-lockfile
|
|
|
|
COPY frontend frontend
|
|
|
|
ARG VERSION=dev
|
|
|
|
RUN VERSION="${VERSION}" pnpm --dir frontend build
|
|
|
|
FROM golang:1.26-bookworm AS builder
|
|
|
|
WORKDIR /app/backend
|
|
|
|
COPY backend/go.mod backend/go.sum ./
|
|
|
|
RUN go mod download
|
|
|
|
COPY backend .
|
|
COPY --from=frontend /app/frontend/dist ./internal/managementasset/dist
|
|
|
|
ARG VERSION=dev
|
|
ARG COMMIT=none
|
|
ARG BUILD_DATE=unknown
|
|
|
|
RUN CGO_ENABLED=0 GOOS=linux go build -tags frontend -buildvcs=false -ldflags="-s -w -X 'main.Version=${VERSION}' -X 'main.Commit=${COMMIT}' -X 'main.BuildDate=${BUILD_DATE}'" -o ./vibe-proxy ./cmd/server/
|
|
|
|
FROM debian:bookworm
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends tzdata ca-certificates && rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN mkdir /app
|
|
|
|
COPY --from=builder /app/backend/vibe-proxy /app/vibe-proxy
|
|
|
|
COPY backend/config.example.yaml /app/config.example.yaml
|
|
|
|
WORKDIR /app
|
|
|
|
EXPOSE 8317
|
|
|
|
CMD ["./vibe-proxy", "--config", "/app/config.yaml"]
|