- cd my-app && docker build -t react .
- cd server && docker build -t node .
- cd turnserver && docker build -t turnserver
- at the root folder and execute "docker compose up -d"
- webRTCHandler.js handles with send messages, audio and video streaming via webrtc signaling
- turn.js get the credentials from the backend so that it can access with coturn server container
- api.js get the room-exists resonse and send the frontend prometheus metrics to backend
- register some metrics exposed to prometheus and these metrics also includes frontend metrics
- socket io.on listens the event comming from the frontend service via socket.emit
- signalhandler deals with the signaling process of the pair of sender and receiver
- directMessageHandler can handle the message passing from one sender to the other receivers in the chat room
ports:
- 9090: prometheus
- 8000/metrics: frontend metrics endpoint
- 8001/metrics: backend metrics endpoint
- 3002: react app web ui
- 3000: grafana web ui
- 9093: alertmanager
- overcome the issues of the socket io connection on k8s environment by using ingress
- deploy on the public cloud