File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -54,6 +54,7 @@ simulation: ## Start production environment in simulation mode
5454 @docker run --rm -it \
5555 $(DOCKER_SOCKET_MOUNT ) \
5656 -e NODE_ENV=production \
57+ -e NUXT_PUBLIC_SOCKET_IO_POLLING_ONLY=false \
5758 -e NODE_TLS_REJECT_UNAUTHORIZED=0 \
5859 -e GIT_BRANCH=$(GIT_BRANCH ) \
5960 -e GIT_COMMIT=$(GIT_COMMIT ) \
@@ -86,6 +87,7 @@ prod: ## Start production environment
8687 @docker run --rm -it \
8788 $(DOCKER_SOCKET_MOUNT ) \
8889 -e NODE_ENV=production \
90+ -e NUXT_PUBLIC_SOCKET_IO_POLLING_ONLY=false \
8991 -e NODE_TLS_REJECT_UNAUTHORIZED=0 \
9092 -e GIT_BRANCH=$(GIT_BRANCH ) \
9193 -e GIT_COMMIT=$(GIT_COMMIT ) \
@@ -110,6 +112,7 @@ dev: ## Start development environment
110112 @docker run --rm -it \
111113 $(DOCKER_SOCKET_MOUNT ) \
112114 -e NODE_ENV=development \
115+ -e NUXT_PUBLIC_SOCKET_IO_POLLING_ONLY=true \
113116 -e NODE_TLS_REJECT_UNAUTHORIZED=0 \
114117 -e GIT_BRANCH=$(GIT_BRANCH ) \
115118 -e GIT_COMMIT=$(GIT_COMMIT ) \
Original file line number Diff line number Diff line change @@ -10,11 +10,20 @@ const SESAME_APP_API_URL = process.env.SESAME_APP_API_URL || 'http://127.0.0.1:4
1010const SESAME_ALLOWED_HOSTS = process . env . SESAME_ALLOWED_HOSTS ? process . env . SESAME_ALLOWED_HOSTS . split ( ',' ) : [ ]
1111const API_PROXY_TARGET = SESAME_APP_API_URL . replace ( / \/ $ / , '' )
1212const IS_DEV = process . env . NODE_ENV === 'development'
13- /** Par défaut : polling seul en dev (proxy WS cassé), WebSocket en prod. Surcharge : SESAME_SOCKET_IO_POLLING_ONLY=0|1 */
14- const SOCKET_IO_POLLING_ONLY =
15- process . env . SESAME_SOCKET_IO_POLLING_ONLY !== undefined
16- ? / ^ ( 1 | t r u e | y e s | o n ) $ / i. test ( process . env . SESAME_SOCKET_IO_POLLING_ONLY )
17- : IS_DEV
13+ /**
14+ * Polling seul si true (dev). Surcharges runtime (sans rebuild) : NUXT_PUBLIC_SOCKET_IO_POLLING_ONLY.
15+ * Build : SESAME_SOCKET_IO_POLLING_ONLY ou défaut IS_DEV.
16+ */
17+ const SOCKET_IO_POLLING_ONLY = ( ( ) => {
18+ const fromNuxtPublic = process . env . NUXT_PUBLIC_SOCKET_IO_POLLING_ONLY
19+ if ( fromNuxtPublic !== undefined ) {
20+ return / ^ ( 1 | t r u e | y e s | o n ) $ / i. test ( fromNuxtPublic )
21+ }
22+ if ( process . env . SESAME_SOCKET_IO_POLLING_ONLY !== undefined ) {
23+ return / ^ ( 1 | t r u e | y e s | o n ) $ / i. test ( process . env . SESAME_SOCKET_IO_POLLING_ONLY )
24+ }
25+ return IS_DEV
26+ } ) ( )
1827
1928if ( SESAME_ALLOWED_HOSTS . length === 0 && ! / l o c a l h o s t / . test ( SESAME_APP_API_URL ) && IS_DEV ) {
2029 SESAME_ALLOWED_HOSTS . push ( new URL ( SESAME_APP_API_URL ) . hostname )
Original file line number Diff line number Diff line change 66# docker network create reverse # si reverse-proxy externe
77#
88# Socket.IO : le client utilise `/api/socket.io` (même origine que le front).
9- # apps/web/.env : ne pas définir SESAME_SOCKET_IO_POLLING_ONLY (ou =0) → WebSocket en prod .
9+ # WebSocket prod : NUXT_PUBLIC_SOCKET_IO_POLLING_ONLY=false (défaut si NODE_ENV=production au build) .
1010# Reverse-proxy : router tout le trafic (HTTP + WebSocket) vers le port Nuxt (3000) ;
1111# Nuxt proxifie `/api/**` vers l'API interne (SESAME_APP_API_URL=http://127.0.0.1:4000).
1212#
You can’t perform that action at this time.
0 commit comments