mirror of
https://github.com/jjbrunton/Sauci.git
synced 2026-10-31 18:19:43 +00:00
Replace the Supabase application data plane with the Node/PostgreSQL API, migrate mobile, admin, web, and MCP callers, add controlled cutover tooling, and define hardened Dokploy infrastructure.
53 lines
1.6 KiB
Docker
Executable File
53 lines
1.6 KiB
Docker
Executable File
FROM node:20-bookworm-slim AS builder
|
|
|
|
WORKDIR /app
|
|
|
|
# Enable pnpm via corepack (allow non-matching packageManager)
|
|
ENV COREPACK_ENABLE_STRICT=0
|
|
ENV PNPM_CONFIG_LINK_WORKSPACE_PACKAGES=true
|
|
RUN corepack enable && corepack prepare pnpm@9.15.0 --activate
|
|
|
|
# Copy everything first (workspaces need full structure)
|
|
COPY . .
|
|
|
|
# Install all dependencies
|
|
RUN pnpm install --no-frozen-lockfile
|
|
|
|
# Build shared package first
|
|
RUN pnpm exec turbo run build --filter=@sauci/shared
|
|
|
|
# Build admin app with env vars
|
|
ARG VITE_SUPABASE_URL
|
|
ARG VITE_SUPABASE_ANON_KEY
|
|
ARG VITE_API_URL
|
|
ARG VITE_OPENAI_API_KEY
|
|
ARG VITE_OPENROUTER_API_KEY
|
|
ARG VITE_AI_MODEL
|
|
ARG VITE_AI_MODEL_GENERATE
|
|
ARG VITE_AI_MODEL_FIX
|
|
ARG VITE_AI_MODEL_POLISH
|
|
ARG VITE_COUNCIL_ENABLED
|
|
ARG VITE_COUNCIL_GENERATOR_MODEL
|
|
ARG VITE_COUNCIL_REVIEWER_MODEL
|
|
|
|
ENV VITE_SUPABASE_URL=$VITE_SUPABASE_URL
|
|
ENV VITE_SUPABASE_ANON_KEY=$VITE_SUPABASE_ANON_KEY
|
|
ENV VITE_API_URL=$VITE_API_URL
|
|
ENV VITE_OPENAI_API_KEY=$VITE_OPENAI_API_KEY
|
|
ENV VITE_OPENROUTER_API_KEY=$VITE_OPENROUTER_API_KEY
|
|
ENV VITE_AI_MODEL=$VITE_AI_MODEL
|
|
ENV VITE_AI_MODEL_GENERATE=$VITE_AI_MODEL_GENERATE
|
|
ENV VITE_AI_MODEL_FIX=$VITE_AI_MODEL_FIX
|
|
ENV VITE_AI_MODEL_POLISH=$VITE_AI_MODEL_POLISH
|
|
ENV VITE_COUNCIL_ENABLED=$VITE_COUNCIL_ENABLED
|
|
ENV VITE_COUNCIL_GENERATOR_MODEL=$VITE_COUNCIL_GENERATOR_MODEL
|
|
ENV VITE_COUNCIL_REVIEWER_MODEL=$VITE_COUNCIL_REVIEWER_MODEL
|
|
|
|
RUN pnpm exec turbo run build --filter=@sauci/admin
|
|
|
|
FROM nginx:alpine
|
|
COPY --from=builder /app/apps/admin/dist /usr/share/nginx/html
|
|
COPY --from=builder /app/apps/admin/nginx.conf /etc/nginx/conf.d/default.conf
|
|
EXPOSE 80
|
|
CMD ["nginx", "-g", "daemon off;"]
|