Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

workyt-socket

Microservice Socket.IO du temps réel de workyt.fr : forum live, présence par fil, indicateurs « en train d'écrire », compteurs live.

Séparé du site Next.js (build standalone) afin que chaque partie soit déployée et scalée indépendamment. Le site reste fonctionnel sans ce service (le temps réel devient silencieusement inactif).

Architecture

Navigateur ──/socket.io (websocket)──> reverse proxy ──> workyt-socket (ce repo)
Routes API Next ──POST /internal/emit (HTTP + secret)──> workyt-socket
Dashboard admin ──/api/admin/realtime-metrics──> Next ──GET /internal/stats──> workyt-socket

Démarrage

cp .env.example .env   # renseigner JWT_SECRET + REALTIME_INTERNAL_SECRET
npm install
npm start              # écoute sur PORT (défaut 3001)

Test de bout en bout (connexion ws + emit interne) :

npm run test:e2e

Endpoints

Route Auth Description
GET /health — Santé du service ({ ok, connections })
POST /internal/emit x-internal-secret Body { room | rooms, event, payload } → broadcast aux rooms
GET /internal/stats x-internal-secret Compteurs sockets, event-loop lag, mémoire, uptime

Le path Socket.IO est /socket.io, transport websocket uniquement (pas de long-polling) : le reverse proxy doit transmettre les en-têtes Upgrade / Connection (HTTP/1.1).

Variables d'environnement

Voir .env.example. Les secrets JWT_SECRET et REALTIME_INTERNAL_SECRET doivent être identiques côté app Next.

Côté app Next (repo workyt-next)

  • REALTIME_SERVICE_URL : URL interne de ce microservice (ex. http://127.0.0.1:3001)
  • NEXT_PUBLIC_SOCKET_URL : URL navigateur, uniquement si pas de routage same-origin workyt.fr/socket.io

Déploiement (Pterodactyl)

Voir docs/deploiement-pterodactyl.md dans le repo workyt-next. L'egg lance simplement node socket-server.mjs (aucun build nécessaire).

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages