Add Ping frontend

React 19 + TypeScript client built with Vite. Zustand for local state,
react-oidc-context for the login flow, a SignalR connection for chat and
presence events, and LiveKit's React components for voice/video calls.
This commit is contained in:
2026-09-21 19:33:02 +02:00
parent 0623875dfa
commit 95a2d46408
48 changed files with 4356 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
# Build context: frontend/ (docker compose -f deploy/compose.yml --profile apps build)
FROM node:24-alpine AS build
WORKDIR /src
COPY package.json package-lock.json ./
RUN npm ci
COPY . .
# Vite inlines VITE_* variables at build time, so they have to be build args, not
# runtime environment variables — see deploy/compose.yml's web service.
ARG VITE_API_BASE_URL
ARG VITE_AUTH_AUTHORITY
ARG VITE_AUTH_CLIENT_ID
ARG VITE_AUTH_REDIRECT_URI
ARG VITE_LIVEKIT_URL
ENV VITE_API_BASE_URL=$VITE_API_BASE_URL \
VITE_AUTH_AUTHORITY=$VITE_AUTH_AUTHORITY \
VITE_AUTH_CLIENT_ID=$VITE_AUTH_CLIENT_ID \
VITE_AUTH_REDIRECT_URI=$VITE_AUTH_REDIRECT_URI \
VITE_LIVEKIT_URL=$VITE_LIVEKIT_URL
RUN npm run build
FROM nginx:alpine AS runtime
COPY --from=build /src/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 3100