25 lines
1.2 KiB
Docker
25 lines
1.2 KiB
Docker
# syntax=docker/dockerfile:1.7
|
|
# thothii-frontend: build Vite (React) + nginx-unprivileged (porta 8080).
|
|
ARG IMAGE_VERSION=local
|
|
FROM node:24.16.0-bookworm@sha256:40ad9f3064e67d6860b4bc3fe1880b2953934fd6320ada990e45fe0efa6badd7 AS build
|
|
WORKDIR /src
|
|
COPY frontend/package*.json ./
|
|
RUN npm ci
|
|
COPY frontend/ ./
|
|
ENV VITE_BASE=/ VITE_BACKEND_URL=/api
|
|
RUN npm run build
|
|
|
|
FROM nginxinc/nginx-unprivileged:1.27-alpine@sha256:65e3e85dbaed8ba248841d9d58a899b6197106c23cb0ff1a132b7bfe0547e4c0 AS runtime
|
|
ARG IMAGE_VERSION
|
|
LABEL org.opencontainers.image.title="thothii-frontend" \
|
|
org.opencontainers.image.version="${IMAGE_VERSION}" \
|
|
org.opencontainers.image.description="ThothII standalone frontend"
|
|
COPY --from=build /src/dist /usr/share/nginx/html
|
|
COPY docker/nginx.conf.template /etc/nginx/templates/default.conf.template
|
|
COPY --chmod=755 docker/frontend-entrypoint.sh /usr/local/bin/frontend-entrypoint
|
|
COPY --chmod=755 docker/validate-frontend-api-upstream.sh /usr/local/bin/validate-frontend-api-upstream
|
|
COPY --chmod=755 docker/smoke/frontend-smoke.sh /usr/local/bin/frontend-config-smoke
|
|
ENTRYPOINT ["/usr/local/bin/frontend-entrypoint"]
|
|
CMD ["nginx", "-g", "daemon off;"]
|
|
EXPOSE 8080
|