Some checks are pending
Build / build (push) Waiting to run
Deploy / deploy (push) Waiting to run
Lint & Type Check / lint (push) Waiting to run
Security Scan / semgrep (push) Waiting to run
Security Scan / dependency-check (push) Waiting to run
Test / test (18.x) (push) Waiting to run
Test / test (20.x) (push) Waiting to run
VITE_* variables are baked into the bundle at vite build time. Docker's env_file only applies at runtime, so they were missing from the build. Pass them as ARGs from docker-compose so the client bundle includes the correct Supabase URL and anon key. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
35 lines
930 B
Docker
35 lines
930 B
Docker
FROM node:22-alpine
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy package files
|
|
COPY package.json package-lock.json* pnpm-lock.yaml* npm-shrinkwrap.json* ./
|
|
|
|
# Install dependencies
|
|
RUN if [ -f pnpm-lock.yaml ]; then npm install -g pnpm && pnpm install --frozen-lockfile; \
|
|
elif [ -f package-lock.json ]; then npm ci --legacy-peer-deps; \
|
|
else npm install --legacy-peer-deps; fi
|
|
|
|
# Copy source code
|
|
COPY . .
|
|
|
|
# Build-time env vars (VITE_* are baked into the bundle at build time)
|
|
ARG VITE_SUPABASE_URL
|
|
ARG VITE_SUPABASE_ANON_KEY
|
|
ARG VITE_AUTHENTIK_PROVIDER
|
|
ENV VITE_SUPABASE_URL=$VITE_SUPABASE_URL
|
|
ENV VITE_SUPABASE_ANON_KEY=$VITE_SUPABASE_ANON_KEY
|
|
ENV VITE_AUTHENTIK_PROVIDER=$VITE_AUTHENTIK_PROVIDER
|
|
|
|
# Build the client so the Activity gets compiled JS (no Vite dev mode in Discord iframe)
|
|
RUN npm run build:client
|
|
|
|
# Set environment
|
|
ENV NODE_ENV=production
|
|
ENV PORT=3000
|
|
|
|
# Expose port
|
|
EXPOSE 3000
|
|
|
|
# Start the server
|
|
CMD ["npm", "run", "dev"]
|