Files
ukmesh/Dockerfile.website
T
dependabot[bot] 7a36584e6f chore(deps): bump nginx from a9ae6f6 to df221db (#109)
Bumps nginx from `a9ae6f6` to `df221db`.

---
updated-dependencies:
- dependency-name: nginx
  dependency-version: alpine
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-03 15:35:11 +01:00

40 lines
1.6 KiB
Docker

FROM node:26-alpine@sha256:0b36e8c136b94cd4fcf02188228e76c31ad5872eef3fec8cbd2eee500cfd9e80 AS frontend-builder
WORKDIR /build/frontend
COPY frontend/package.json frontend/package-lock.json ./
RUN npm ci
COPY frontend/ ./
ARG VITE_APP_HOSTNAME
ARG VITE_BUILD_TARGET=public-website
ARG VITE_SITE=ukmesh
ARG VITE_OBSERVER_ID=
ARG VITE_NETWORK=
ARG VITE_SITE_DISPLAY_NAME=
ARG VITE_SITE_FOOTER_NAME=
ARG VITE_SITE_APP_URL=
ARG VITE_SITE_HOME_URL=
ENV VITE_APP_HOSTNAME=$VITE_APP_HOSTNAME
ENV VITE_BUILD_TARGET=$VITE_BUILD_TARGET
ENV VITE_SITE=$VITE_SITE
ENV VITE_OBSERVER_ID=$VITE_OBSERVER_ID
ENV VITE_NETWORK=$VITE_NETWORK
ENV VITE_SITE_DISPLAY_NAME=$VITE_SITE_DISPLAY_NAME
ENV VITE_SITE_FOOTER_NAME=$VITE_SITE_FOOTER_NAME
ENV VITE_SITE_APP_URL=$VITE_SITE_APP_URL
ENV VITE_SITE_HOME_URL=$VITE_SITE_HOME_URL
RUN npm run build
FROM nginx:alpine@sha256:df221db836e1754089190208cee7eeda94f233197056426eda74a43ab1abeac2
ARG SOURCE_REVISION=unknown
LABEL org.opencontainers.image.revision="${SOURCE_REVISION}" \
org.opencontainers.image.source="https://github.com/gadgethd/ukmesh"
COPY --from=frontend-builder /build/frontend/dist /usr/share/nginx/html
COPY nginx.website.conf /etc/nginx/conf.d/default.conf
COPY nginx.security-headers.conf /etc/nginx/snippets/security-headers.conf
# .mjs (ES module workers, e.g. maplibre-gl) must be served as JS, not the
# nginx default (application/octet-stream) — add the mapping inside mime.types.
RUN sed -i 's/^}$/ application\/javascript mjs;\n}/' /etc/nginx/mime.types
RUN chown -R nginx:nginx /var/cache/nginx /etc/nginx/conf.d \
&& chown nginx:nginx /run
USER 101:101
EXPOSE 8080