Files
sbbb/src/frontend/Dockerfile
Sienna Meridian Satterwhite cfefc9287d feat(front): add sunbeam theme and Cunningham v4 token plumbing
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.
2026-03-18 18:34:05 +00:00

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"]