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"]