Deploy Matrix Communication
Deploy Matrix Synapse server, Element.io web client, and Discovery service for real-time chat and video calls. Matrix is deployed via Helm as part of the oriso-platform umbrella chart.
Matrix components are automatically deployed when you run helm install oriso-platform. This guide covers post-deployment configuration and verification.
Verify Matrix Deployment
Matrix should already be deployed via Helm. Verify all components are running.# Check Matrix pods
kubectl get pods -n caritas | grep -E "matrix|element"
# Should see:
# oriso-platform-matrix-synapse-xxx 1/1 Running
# oriso-platform-matrix-discovery-xxx 1/1 Running
# oriso-platform-element-xxx 1/1 Running (if deployed)
All Matrix-related pods should show status Running and 1/1 ready.
If Matrix pods are not running, check the Helm deployment:helm status oriso-platform -n caritas
kubectl logs -n caritas -l app=matrix-synapse --tail=50
Initialize Matrix Database
If this is a fresh deployment, initialize the Matrix PostgreSQL database.# Check PostgreSQL pod
kubectl get pods -n caritas | grep postgres
# Get Matrix PostgreSQL pod
MATRIX_PG_POD=$(kubectl get pods -n caritas -l app=matrix-postgres -o jsonpath="{.items[0].metadata.name}")
# Import schema (if not already done)
cd ~/online-beratung/caritas-workspace/ORISO-Matrix
kubectl exec -i -n caritas $MATRIX_PG_POD -- \
psql -U synapse_user synapse < database/matrix-schema-current.sql
# Verify tables
kubectl exec -it -n caritas $MATRIX_PG_POD -- \
psql -U synapse_user synapse -c "\dt" | head -20
Matrix tables should be created (users, rooms, events, devices, etc.).
Verify Matrix Services
Verify Matrix services are operational.# Check Matrix Synapse API (internal)
kubectl exec -n caritas deployment/oriso-platform-matrix-synapse -- \
curl -s http://localhost:8008/_matrix/client/versions
# Check Matrix Synapse API (via Ingress)
curl -s https://matrix.oriso-dev.site/_matrix/client/versions
# Check Discovery service
curl -s http://91.99.219.182/.well-known/matrix/server
# Check Element.io (if deployed)
curl -I https://element.oriso-dev.site
- Matrix Synapse should return JSON with version information
- Discovery service should return server configuration
- Element.io should return HTTP 200 OK
Configure Matrix Integration
Configure backend and frontend to use Matrix.Backend Configuration (UserService):Matrix integration is configured in UserService. Verify configuration:# Check UserService environment variables
kubectl get deployment oriso-platform-userservice -n caritas -o yaml | \
grep -A 5 MATRIX
# Expected:
# - name: MATRIX_SYNAPSE_URL
# value: http://oriso-platform-matrix-synapse.caritas.svc.cluster.local:8008
# - name: MATRIX_SERVER_NAME
# value: caritas.local
Frontend Configuration:Frontend Matrix configuration is baked into the Docker image at build time. Verify in .env:cd ~/online-beratung/caritas-workspace/ORISO-Frontend
cat .env | grep MATRIX
Matrix Components
Matrix Synapse
- Service:
oriso-platform-matrix-synapse.caritas.svc.cluster.local:8008
- External:
https://matrix.oriso-dev.site
- Database: PostgreSQL (synapse database)
- Purpose: Matrix homeserver for chat
Matrix Discovery Service
- Service:
oriso-platform-matrix-discovery
- External:
http://91.99.219.182/.well-known/matrix/server
- Purpose: Federation discovery
Element.io (Optional)
- Service:
oriso-platform-element
- External:
https://element.oriso-dev.site or http://91.99.219.182:8087
- Purpose: Web client for Matrix
Integration Details
Backend Integration
UserService creates Matrix users and rooms:
- User registration → Matrix account creation
- Consultant assignment → Matrix room creation
- Credentials stored in MariaDB
user table
Frontend Integration
Frontend uses Matrix JS SDK:
- Real-time messaging
- WebRTC calls via LiveKit
- Event synchronization
Troubleshooting
Matrix Synapse Not Starting
# Check logs
kubectl logs -n caritas -l app=matrix-synapse --tail=100
# Check database connection
kubectl exec -n caritas deployment/oriso-platform-matrix-synapse -- \
env | grep DATABASE
# Verify PostgreSQL is accessible
kubectl exec -n caritas deployment/oriso-platform-matrix-synapse -- \
curl http://oriso-platform-postgresql.caritas.svc.cluster.local:5432
Database Connection Issues
# Check PostgreSQL pod
kubectl get pods -n caritas | grep postgres
# Test connection
kubectl exec -it -n caritas deployment/oriso-platform-postgresql -- \
psql -U synapse_user synapse -c "SELECT 1;"
Federation Not Working
# Check discovery service
kubectl logs -n caritas -l app=matrix-discovery
# Test well-known endpoint
curl http://91.99.219.182/.well-known/matrix/server
# Check federation API
curl http://91.99.219.182:8009/_matrix/federation/v1/version
Next Steps