Files
SaaS-PDF/frontend/Dockerfile
Your Name 700941a24c feat: Add IndexNow submission and sitemap updates
- Add IndexNow submit script + state tracking
- Update deploy script to notify IndexNow after healthy deploy
- Publish IndexNow verification file in public
- Update sitemaps and add env placeholders
- Pass analytics/ads/IndexNow env vars into frontend build
2026-04-04 00:03:46 +02:00

80 lines
2.0 KiB
Docker

# ---- Build Stage ----
FROM node:20-alpine AS build
WORKDIR /app
ARG VITE_GA_MEASUREMENT_ID
ARG VITE_PLAUSIBLE_DOMAIN
ARG VITE_PLAUSIBLE_SRC
ARG VITE_GOOGLE_SITE_VERIFICATION
ARG VITE_ADSENSE_CLIENT_ID
ARG VITE_ADSENSE_SLOT_HOME_TOP
ARG VITE_ADSENSE_SLOT_HOME_BOTTOM
ARG VITE_ADSENSE_SLOT_TOP_BANNER
ARG VITE_ADSENSE_SLOT_BOTTOM_BANNER
ARG VITE_FEATURE_EDITOR
ARG VITE_FEATURE_OCR
ARG VITE_FEATURE_REMOVEBG
ARG VITE_SITE_DOMAIN
ARG VITE_SENTRY_DSN
ARG VITE_CLARITY_PROJECT_ID
ARG INDEXNOW_KEY
ARG INDEXNOW_ENDPOINT
ARG INDEXNOW_STRICT
ENV VITE_GA_MEASUREMENT_ID=$VITE_GA_MEASUREMENT_ID \
VITE_PLAUSIBLE_DOMAIN=$VITE_PLAUSIBLE_DOMAIN \
VITE_PLAUSIBLE_SRC=$VITE_PLAUSIBLE_SRC \
VITE_GOOGLE_SITE_VERIFICATION=$VITE_GOOGLE_SITE_VERIFICATION \
VITE_ADSENSE_CLIENT_ID=$VITE_ADSENSE_CLIENT_ID \
VITE_ADSENSE_SLOT_HOME_TOP=$VITE_ADSENSE_SLOT_HOME_TOP \
VITE_ADSENSE_SLOT_HOME_BOTTOM=$VITE_ADSENSE_SLOT_HOME_BOTTOM \
VITE_ADSENSE_SLOT_TOP_BANNER=$VITE_ADSENSE_SLOT_TOP_BANNER \
VITE_ADSENSE_SLOT_BOTTOM_BANNER=$VITE_ADSENSE_SLOT_BOTTOM_BANNER \
VITE_FEATURE_EDITOR=$VITE_FEATURE_EDITOR \
VITE_FEATURE_OCR=$VITE_FEATURE_OCR \
VITE_FEATURE_REMOVEBG=$VITE_FEATURE_REMOVEBG \
VITE_SITE_DOMAIN=$VITE_SITE_DOMAIN \
VITE_SENTRY_DSN=$VITE_SENTRY_DSN \
VITE_CLARITY_PROJECT_ID=$VITE_CLARITY_PROJECT_ID \
INDEXNOW_KEY=$INDEXNOW_KEY \
INDEXNOW_ENDPOINT=$INDEXNOW_ENDPOINT \
INDEXNOW_STRICT=$INDEXNOW_STRICT
# Install dependencies
COPY package.json ./
RUN npm install
# Copy source code
COPY . .
# Build for production
RUN npm run build
# ---- Production Stage ----
FROM nginx:alpine AS production
# Copy built assets
COPY --from=build /app/dist /usr/share/nginx/html
# Copy nginx config for SPA routing
COPY nginx-frontend.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
# ---- Development Stage ----
FROM node:20-alpine AS development
WORKDIR /app
COPY package.json ./
RUN npm install
COPY . .
EXPOSE 5173
CMD ["npm", "run", "dev", "--", "--host", "0.0.0.0"]