Deploy Frontend
Frontend applications are deployed via Helm. This guide covers build, deployment, and verification.
Deploy Frontend
Frontend applications (ORISO-Frontend and ORISO-Admin) are deployed via Helm. This guide covers building Docker images and deploying via Helm.
Frontend applications are deployed as part of the oriso-platform Helm umbrella chart. You need to build Docker images first, then deploy via Helm.
Build Docker images for both frontend applications.
# Build ORISO-Frontend
cd ~/online-beratung/caritas-workspace/ORISO-Frontend
docker build -t caritas-frontend:latest .
# Build ORISO-Admin
cd ~/online-beratung/caritas-workspace/ORISO-Admin
docker build -t caritas-admin:latest .
# Verify images
docker images | grep -E "caritas-frontend|caritas-admin"Both images should be listed with latest tag.
Import Docker images to k3s (if using k3s).
# Import frontend image
sudo k3s ctr images import <(docker save caritas-frontend:latest)
# Import admin image
sudo k3s ctr images import <(docker save caritas-admin:latest)
# Verify images in k3s
sudo k3s ctr images list | grep -E "caritas-frontend|caritas-admin"If not using k3s, push images to a container registry and update Helm values with the registry URL.
Deploy frontend applications via Helm (if not already deployed).
cd ~/online-beratung/caritas-workspace/ORISO-Kubernetes/helm
# Update dependencies
cd oriso-platform
helm dependency update
cd ..
# Deploy (or upgrade if already deployed)
helm upgrade oriso-platform ./oriso-platform \
--namespace caritas \
-f values.yaml \
--set frontend.enabled=true \
--set admin.enabled=true
# Monitor deployment
kubectl get pods -n caritas -l tier=frontend -wFrontend pods should be created and reach Running state.
Verify frontend applications are accessible.
# Check pods
kubectl get pods -n caritas | grep -E "frontend|admin"
# Should see:
# oriso-platform-frontend-xxx 1/1 Running
# oriso-platform-admin-xxx 1/1 Running
# Check services
kubectl get svc -n caritas | grep -E "frontend|admin"
# Test internal access
kubectl exec -n caritas deployment/oriso-platform-frontend -- \
curl -I http://localhost:80
# Test via Ingress (after Ingress is deployed)
curl -I https://app.oriso.org
curl -I https://admin.oriso.org- Pods should be
Running - Services should be created
- Ingress should route to services (if configured)
Frontend Applications
ORISO-Frontend (User Portal)
- Docker Image:
caritas-frontend:latest - Service:
oriso-platform-frontend.caritas.svc.cluster.local:80 - External:
https://app.oriso.org - Technology: React 19, custom webpack build, TypeScript
- Features: User portal, Matrix chat, video calls
ORISO-Admin (Admin Panel)
- Docker Image:
caritas-admin:latest - Service:
oriso-platform-admin.caritas.svc.cluster.local:80 - External:
https://admin.oriso.org - Technology: React 19, Vite, TypeScript
- Features: Admin interface, agency management
Build Configuration
Environment Variables
Environment variables are baked into the build at build time:
# .env file in ORISO-Frontend
VITE_API_URL=https://api.oriso.org
VITE_KEYCLOAK_URL=https://auth.oriso.org
VITE_KEYCLOAK_REALM=online-beratung
VITE_KEYCLOAK_CLIENT_ID=app
VITE_MATRIX_HOMESERVER_URL=https://matrix.oriso.org
VITE_MATRIX_SERVER_NAME=caritas.localDocker Build
# Example Dockerfile structure
FROM node:18-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
ARG VITE_API_URL
ENV VITE_API_URL=$VITE_API_URL
RUN npm run build
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/htmlTroubleshooting
Build Failures
# Clear node_modules and rebuild
cd ~/online-beratung/caritas-workspace/ORISO-Frontend
rm -rf node_modules package-lock.json
npm install
npm run build
# Check for build errors
npm run build 2>&1 | tee build.logImage Import Issues
# Check if image exists
docker images | grep caritas-frontend
# Re-export and import
docker save caritas-frontend:latest | sudo k3s ctr images import -
# Check k3s images
sudo k3s ctr images list | grep caritasPod Not Starting
# Check pod status
kubectl describe pod -n caritas <pod-name>
# Check logs
kubectl logs -n caritas deployment/oriso-platform-frontend
# Check image pull
kubectl get pod -n caritas <pod-name> -o yaml | grep imageIngress Not Working
# Check Ingress resources
kubectl get ingress -n caritas | grep frontend
# Check Ingress Controller
kubectl get pods -n ingress-nginx
# Test Ingress
curl -I https://app.oriso.orgNext Steps
- Deploy Ingress - Configure external access
- Post-Deployment - Complete post-deployment steps
- Verification Testing - Test frontend functionality