Marketing site (bargevasat.ir) + admin-editable store links + subdomain split
- New standalone Next.js marketing site under site/ (static export, SEO): landing, download/install guide (Bazaar/Myket/iOS-PWA/web), FAQ (JSON-LD), privacy, terms, support, /admin link editor. fa RTL, sitemap/robots/manifest. - Backend: SiteLinksService (JSON-file persisted) + GET /api/site/links (public) + POST /api/admin/site/links (X-Admin-Token). ADMIN_TOKEN + Site__DataDir via env. - compose: hokm-site service (:1520) + hokm_data volume for links JSON. - CI deploy job builds + deploys the site container. - deploy/SUBDOMAIN_SPLIT.md: nginx blocks, cert reissue, DNS, ENV split. - Exclude site/ from root tsc + web docker context. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
# Barg-e Vasat marketing site (Next.js static export → nginx).
|
||||
FROM mirror.soroushasadi.com/node:20-alpine AS build
|
||||
WORKDIR /app
|
||||
COPY package*.json ./
|
||||
ARG NPM_REGISTRY=http://171.22.25.73:8081/repository/npm-group/
|
||||
RUN npm ci --legacy-peer-deps --strict-ssl=false --no-audit --no-fund \
|
||||
--registry "${NPM_REGISTRY}"
|
||||
COPY . .
|
||||
# Public URLs baked at build time (browser-facing).
|
||||
ARG NEXT_PUBLIC_API_URL=https://api.bargevasat.ir
|
||||
ARG NEXT_PUBLIC_APP_URL=https://app.bargevasat.ir
|
||||
ARG NEXT_PUBLIC_SITE_URL=https://bargevasat.ir
|
||||
ENV NEXT_PUBLIC_API_URL=$NEXT_PUBLIC_API_URL
|
||||
ENV NEXT_PUBLIC_APP_URL=$NEXT_PUBLIC_APP_URL
|
||||
ENV NEXT_PUBLIC_SITE_URL=$NEXT_PUBLIC_SITE_URL
|
||||
RUN npm run build
|
||||
|
||||
FROM mirror.soroushasadi.com/nginx:alpine
|
||||
COPY --from=build /app/out /usr/share/nginx/html
|
||||
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
||||
EXPOSE 80
|
||||
HEALTHCHECK --interval=10s --timeout=5s --retries=6 --start-period=10s \
|
||||
CMD wget -q -O- http://127.0.0.1/ || exit 1
|
||||
Reference in New Issue
Block a user