Add sunbeam dark theme to cunningham.ts with amber brand palette and navy grey scale. Wire THEME_CSS_URL through Dockerfile build args and _app.tsx <link> injection so the integration service theme CSS loads at runtime. Regenerate Cunningham design tokens (CSS, SCSS, TS). Add Monaspace Neon variable font-face for monospace UI elements.
71 lines
1.8 KiB
Docker
71 lines
1.8 KiB
Docker
FROM node:24-alpine AS frontend-deps
|
|
|
|
WORKDIR /home/frontend/
|
|
|
|
COPY ./package.json ./package.json
|
|
COPY ./package-lock.json ./package-lock.json
|
|
COPY ./apps/calendars/package.json ./apps/calendars/package.json
|
|
|
|
RUN npm ci
|
|
|
|
COPY .dockerignore ./.dockerignore
|
|
# COPY ./.prettierrc.js ./.prettierrc.js
|
|
#COPY ./packages/eslint-config-calendars ./packages/eslint-config-calendars
|
|
|
|
COPY ./apps/calendars ./apps/calendars
|
|
|
|
# Build open-calendar package
|
|
|
|
WORKDIR /home/frontend
|
|
|
|
### ---- Front-end builder image ----
|
|
FROM frontend-deps AS calendars
|
|
|
|
WORKDIR /home/frontend/apps/calendars
|
|
|
|
FROM frontend-deps AS calendars-dev
|
|
|
|
WORKDIR /home/frontend
|
|
|
|
EXPOSE 3000
|
|
|
|
RUN cd apps/calendars && npm run build-theme
|
|
|
|
# Build open-calendar package if dist doesn't exist, then start dev server
|
|
CMD ["/bin/sh", "-c", "cd /home/frontend/apps/calendars && npm run dev"]
|
|
|
|
# Tilt will rebuild calendars target so, we dissociate calendars and calendars-builder
|
|
# to avoid rebuilding the app at every changes.
|
|
FROM calendars AS calendars-builder
|
|
|
|
WORKDIR /home/frontend/apps/calendars
|
|
|
|
ARG API_ORIGIN
|
|
ARG VISIO_BASE_URL
|
|
ARG GAUFRE_WIDGET_PATH
|
|
ARG GAUFRE_API_URL
|
|
ARG THEME_CSS_URL
|
|
ENV NEXT_PUBLIC_API_ORIGIN=${API_ORIGIN}
|
|
ENV NEXT_PUBLIC_VISIO_BASE_URL=${VISIO_BASE_URL}
|
|
ENV NEXT_PUBLIC_GAUFRE_WIDGET_PATH=${GAUFRE_WIDGET_PATH}
|
|
ENV NEXT_PUBLIC_GAUFRE_API_URL=${GAUFRE_API_URL}
|
|
ENV NEXT_PUBLIC_THEME_CSS_URL=${THEME_CSS_URL}
|
|
|
|
RUN npm run build-theme && npm run build
|
|
|
|
# ---- Front-end image ----
|
|
FROM caddy:2-alpine AS frontend-production
|
|
|
|
# Upgrade system packages to install security updates
|
|
RUN apk update && \
|
|
apk upgrade && \
|
|
rm -rf /var/cache/apk/*
|
|
|
|
COPY --from=calendars-builder \
|
|
/home/frontend/apps/calendars/out \
|
|
/srv
|
|
|
|
COPY ./Caddyfile /etc/caddy/Caddyfile
|
|
|
|
CMD ["caddy", "run", "--config", "/etc/caddy/Caddyfile", "--adapter", "caddyfile"]
|