51 lines
1.7 KiB
Docker
51 lines
1.7 KiB
Docker
FROM node:22-bookworm-slim
|
|
|
|
WORKDIR /app
|
|
|
|
ENV NEXT_TELEMETRY_DISABLED=1
|
|
|
|
# Build-time NEXT_PUBLIC vars for client bundles.
|
|
ARG NEXT_PUBLIC_SUPABASE_URL
|
|
ARG NEXT_PUBLIC_SUPABASE_ANON_KEY
|
|
ARG NEXT_PUBLIC_GOOGLE_CLIENT_ID
|
|
ARG NEXT_PUBLIC_MISSION_CONTROL_URL
|
|
ARG NEXT_PUBLIC_GANTT_BOARD_URL
|
|
ARG NEXT_PUBLIC_BLOG_BACKUP_URL
|
|
ARG NEXT_PUBLIC_GITEA_URL
|
|
ARG NEXT_PUBLIC_GITHUB_URL
|
|
ARG NEXT_PUBLIC_VERCEL_URL
|
|
ARG NEXT_PUBLIC_SUPABASE_SITE_URL
|
|
ARG NEXT_PUBLIC_GOOGLE_URL
|
|
ARG NEXT_PUBLIC_GOOGLE_CALENDAR_URL
|
|
ARG NEXT_PUBLIC_GOOGLE_CALENDAR_SETTINGS_URL
|
|
ARG NEXT_PUBLIC_GANTT_API_BASE_URL
|
|
ARG NEXT_PUBLIC_APP_URL
|
|
|
|
ENV NEXT_PUBLIC_SUPABASE_URL=$NEXT_PUBLIC_SUPABASE_URL \
|
|
NEXT_PUBLIC_SUPABASE_ANON_KEY=$NEXT_PUBLIC_SUPABASE_ANON_KEY \
|
|
NEXT_PUBLIC_GOOGLE_CLIENT_ID=$NEXT_PUBLIC_GOOGLE_CLIENT_ID \
|
|
NEXT_PUBLIC_MISSION_CONTROL_URL=$NEXT_PUBLIC_MISSION_CONTROL_URL \
|
|
NEXT_PUBLIC_GANTT_BOARD_URL=$NEXT_PUBLIC_GANTT_BOARD_URL \
|
|
NEXT_PUBLIC_BLOG_BACKUP_URL=$NEXT_PUBLIC_BLOG_BACKUP_URL \
|
|
NEXT_PUBLIC_GITEA_URL=$NEXT_PUBLIC_GITEA_URL \
|
|
NEXT_PUBLIC_GITHUB_URL=$NEXT_PUBLIC_GITHUB_URL \
|
|
NEXT_PUBLIC_VERCEL_URL=$NEXT_PUBLIC_VERCEL_URL \
|
|
NEXT_PUBLIC_SUPABASE_SITE_URL=$NEXT_PUBLIC_SUPABASE_SITE_URL \
|
|
NEXT_PUBLIC_GOOGLE_URL=$NEXT_PUBLIC_GOOGLE_URL \
|
|
NEXT_PUBLIC_GOOGLE_CALENDAR_URL=$NEXT_PUBLIC_GOOGLE_CALENDAR_URL \
|
|
NEXT_PUBLIC_GOOGLE_CALENDAR_SETTINGS_URL=$NEXT_PUBLIC_GOOGLE_CALENDAR_SETTINGS_URL \
|
|
NEXT_PUBLIC_GANTT_API_BASE_URL=$NEXT_PUBLIC_GANTT_API_BASE_URL \
|
|
NEXT_PUBLIC_APP_URL=$NEXT_PUBLIC_APP_URL
|
|
|
|
COPY package*.json ./
|
|
RUN npm ci
|
|
|
|
COPY . .
|
|
RUN npm run build && npm prune --omit=dev
|
|
|
|
RUN mkdir -p /app/data
|
|
|
|
EXPOSE 8301
|
|
|
|
CMD ["npm", "run", "start", "--", "-H", "0.0.0.0", "-p", "8301"]
|