add to the compose file

This commit is contained in:
MathieuSevignyLavallee 2024-11-07 12:39:36 -05:00
parent 85bd93792c
commit bbc0359ead
5 changed files with 286 additions and 1 deletions

View file

@ -27,6 +27,17 @@ services:
- mongo - mongo
restart: always restart: always
quizroom:
build:
context: ./quizRoom
dockerfile: Dockerfile
container_name: quizroom
ports:
- "4500:4500"
depends_on:
- backend
restart: always
# Ce conteneur sert de routeur pour assurer le bon fonctionnement de l'application # Ce conteneur sert de routeur pour assurer le bon fonctionnement de l'application
nginx: nginx:
image: fuhrmanator/evaluetonsavoir-routeur:latest image: fuhrmanator/evaluetonsavoir-routeur:latest

View file

@ -1,5 +1,5 @@
# Use the Node base image # Use the Node base image
FROM node:18 FROM node:18 as quizroom
# Create a working directory # Create a working directory
WORKDIR /usr/src/app WORKDIR /usr/src/app

View file

@ -1,5 +1,6 @@
import http from "http"; import http from "http";
import { Server, ServerOptions } from "socket.io"; import { Server, ServerOptions } from "socket.io";
import { GlideClient, GlideClientConfiguration } from '@valkey/valkey-glide';
// Import setupWebsocket // Import setupWebsocket
import { setupWebsocket } from "./socket/setupWebSocket"; import { setupWebsocket } from "./socket/setupWebSocket";

View file

@ -9,6 +9,7 @@
"version": "1.0.0", "version": "1.0.0",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@valkey/valkey-glide": "^1.1.0",
"http": "^0.0.1-security", "http": "^0.0.1-security",
"socket.io": "^4.8.1" "socket.io": "^4.8.1"
}, },
@ -55,6 +56,70 @@
"@jridgewell/sourcemap-codec": "^1.4.10" "@jridgewell/sourcemap-codec": "^1.4.10"
} }
}, },
"node_modules/@protobufjs/aspromise": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
"integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==",
"optional": true
},
"node_modules/@protobufjs/base64": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
"integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==",
"optional": true
},
"node_modules/@protobufjs/codegen": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
"integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==",
"optional": true
},
"node_modules/@protobufjs/eventemitter": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
"integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==",
"optional": true
},
"node_modules/@protobufjs/fetch": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
"integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
"optional": true,
"dependencies": {
"@protobufjs/aspromise": "^1.1.1",
"@protobufjs/inquire": "^1.1.0"
}
},
"node_modules/@protobufjs/float": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
"integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==",
"optional": true
},
"node_modules/@protobufjs/inquire": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
"integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==",
"optional": true
},
"node_modules/@protobufjs/path": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
"integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==",
"optional": true
},
"node_modules/@protobufjs/pool": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
"integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==",
"optional": true
},
"node_modules/@protobufjs/utf8": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
"integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==",
"optional": true
},
"node_modules/@socket.io/component-emitter": { "node_modules/@socket.io/component-emitter": {
"version": "3.1.2", "version": "3.1.2",
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
@ -193,6 +258,148 @@
"@types/send": "*" "@types/send": "*"
} }
}, },
"node_modules/@valkey/valkey-glide": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@valkey/valkey-glide/-/valkey-glide-1.1.0.tgz",
"integrity": "sha512-7+NJxMiCfE/p5p7HpLnEKOVaYEcrMnTbGNT9ZBjP0QC8KO7BwSLnWlRYnnb4/6j6zEBc7ugVZ0CvJjJvTslcjw==",
"dependencies": {
"detect-libc": "^2.0.3"
},
"optionalDependencies": {
"@valkey/valkey-glide-darwin-arm64": "1.1.0",
"@valkey/valkey-glide-darwin-x64": "1.1.0",
"@valkey/valkey-glide-linux-arm64": "1.1.0",
"@valkey/valkey-glide-linux-musl-arm64": "1.1.0",
"@valkey/valkey-glide-linux-musl-x64": "1.1.0",
"@valkey/valkey-glide-linux-x64": "1.1.0"
}
},
"node_modules/@valkey/valkey-glide-darwin-arm64": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@valkey/valkey-glide-darwin-arm64/-/valkey-glide-darwin-arm64-1.1.0.tgz",
"integrity": "sha512-0ekMcRVcC+VhNG3ZeiLFNrIi9nxq2TM8Y0qoyGPpcb3q0+4AaSnHQR2YPnvn5Befq75ODJ+RctxQ6fbYNaArDg==",
"bundleDependencies": [
"glide-rs"
],
"cpu": [
"arm64"
],
"optional": true,
"os": [
"darwin"
],
"dependencies": {
"glide-rs": "file:rust-client",
"long": "^5.2.3",
"npmignore": "^0.3.1",
"protobufjs": "^7.4.0"
}
},
"node_modules/@valkey/valkey-glide-darwin-x64": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@valkey/valkey-glide-darwin-x64/-/valkey-glide-darwin-x64-1.1.0.tgz",
"integrity": "sha512-fFfV5YPQ3RAnwlyjvyvfq6gxFo1FZMhChqINxxtKClwzIFg7493p3WNuOhH0M+CNyIGCle9tMx8dLPNWVdVk0Q==",
"bundleDependencies": [
"glide-rs"
],
"cpu": [
"x64"
],
"optional": true,
"os": [
"darwin"
],
"dependencies": {
"glide-rs": "file:rust-client",
"long": "^5.2.3",
"npmignore": "^0.3.1",
"protobufjs": "^7.4.0"
}
},
"node_modules/@valkey/valkey-glide-linux-arm64": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@valkey/valkey-glide-linux-arm64/-/valkey-glide-linux-arm64-1.1.0.tgz",
"integrity": "sha512-jY9MOeu0Ck9yLMv+LUTDCytDi8JMuWd6w27t2BKWvdnFSOLmZcKqBhkfIhQWBoXqo42uhcxzHULC5Pwtl0jLQg==",
"bundleDependencies": [
"glide-rs"
],
"cpu": [
"arm64"
],
"optional": true,
"os": [
"linux"
],
"dependencies": {
"glide-rs": "file:rust-client",
"long": "^5.2.3",
"npmignore": "^0.3.1",
"protobufjs": "^7.4.0"
}
},
"node_modules/@valkey/valkey-glide-linux-musl-arm64": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@valkey/valkey-glide-linux-musl-arm64/-/valkey-glide-linux-musl-arm64-1.1.0.tgz",
"integrity": "sha512-8H8BLG4ZEZuZSvuoYGKO157r/gMI3QnfjGMv3J+uzP2yKj2vZdqh9I46wiJsHl6B3gxFxtrleX7zoo5HY5NcoQ==",
"bundleDependencies": [
"glide-rs"
],
"cpu": [
"arm64"
],
"optional": true,
"os": [
"linux"
],
"dependencies": {
"glide-rs": "file:rust-client",
"long": "^5.2.3",
"npmignore": "^0.3.1",
"protobufjs": "^7.4.0"
}
},
"node_modules/@valkey/valkey-glide-linux-musl-x64": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@valkey/valkey-glide-linux-musl-x64/-/valkey-glide-linux-musl-x64-1.1.0.tgz",
"integrity": "sha512-ljpgbfH124GeoFGIYzdoK5C8xsDCehm2U9RwYVJq2SAc5XyIyI80d7s0ZrjVAOhV77ebbVYn2i/j5bL/v/u/cw==",
"bundleDependencies": [
"glide-rs"
],
"cpu": [
"x64"
],
"optional": true,
"os": [
"linux"
],
"dependencies": {
"glide-rs": "file:rust-client",
"long": "^5.2.3",
"npmignore": "^0.3.1",
"protobufjs": "^7.4.0"
}
},
"node_modules/@valkey/valkey-glide-linux-x64": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@valkey/valkey-glide-linux-x64/-/valkey-glide-linux-x64-1.1.0.tgz",
"integrity": "sha512-TIvJxMTCRa551u6HHwvLsJjJ+RSi8V4FiSTMJ9GOa5WAlT07A3bSDbMzxF7JqfvfDFFRk4vO1B/k+1JE3SlV6A==",
"bundleDependencies": [
"glide-rs"
],
"cpu": [
"x64"
],
"optional": true,
"os": [
"linux"
],
"dependencies": {
"glide-rs": "file:rust-client",
"long": "^5.2.3",
"npmignore": "^0.3.1",
"protobufjs": "^7.4.0"
}
},
"node_modules/accepts": { "node_modules/accepts": {
"version": "1.3.8", "version": "1.3.8",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
@ -285,6 +492,14 @@
} }
} }
}, },
"node_modules/detect-libc": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz",
"integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==",
"engines": {
"node": ">=8"
}
},
"node_modules/diff": { "node_modules/diff": {
"version": "4.0.2", "version": "4.0.2",
"resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
@ -327,6 +542,12 @@
"resolved": "https://registry.npmjs.org/http/-/http-0.0.1-security.tgz", "resolved": "https://registry.npmjs.org/http/-/http-0.0.1-security.tgz",
"integrity": "sha512-RnDvP10Ty9FxqOtPZuxtebw1j4L/WiqNMDtuc1YMH1XQm5TgDRaR1G9u8upL6KD1bXHSp9eSXo/ED+8Q7FAr+g==" "integrity": "sha512-RnDvP10Ty9FxqOtPZuxtebw1j4L/WiqNMDtuc1YMH1XQm5TgDRaR1G9u8upL6KD1bXHSp9eSXo/ED+8Q7FAr+g=="
}, },
"node_modules/long": {
"version": "5.2.3",
"resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz",
"integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==",
"optional": true
},
"node_modules/make-error": { "node_modules/make-error": {
"version": "1.3.6", "version": "1.3.6",
"resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
@ -352,6 +573,15 @@
"node": ">= 0.6" "node": ">= 0.6"
} }
}, },
"node_modules/minimist": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"optional": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/ms": { "node_modules/ms": {
"version": "2.1.3", "version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@ -365,6 +595,24 @@
"node": ">= 0.6" "node": ">= 0.6"
} }
}, },
"node_modules/npmignore": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/npmignore/-/npmignore-0.3.1.tgz",
"integrity": "sha512-bBDWyDhP/p7fFlAvKrN1gl/q0nsxkouezRBJmfzvJNHnWbRlC8j2xV9zteIkS9tlFuECgaV3nlJixQpJRe5EQg==",
"optional": true,
"dependencies": {
"minimist": "^1.2.8"
},
"bin": {
"npmignore": "bin/npmignore"
},
"engines": {
"node": ">=0.10.0"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/object-assign": { "node_modules/object-assign": {
"version": "4.1.1", "version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@ -373,6 +621,30 @@
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/protobufjs": {
"version": "7.4.0",
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.4.0.tgz",
"integrity": "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==",
"hasInstallScript": true,
"optional": true,
"dependencies": {
"@protobufjs/aspromise": "^1.1.2",
"@protobufjs/base64": "^1.1.2",
"@protobufjs/codegen": "^2.0.4",
"@protobufjs/eventemitter": "^1.1.0",
"@protobufjs/fetch": "^1.1.0",
"@protobufjs/float": "^1.0.2",
"@protobufjs/inquire": "^1.1.0",
"@protobufjs/path": "^1.1.2",
"@protobufjs/pool": "^1.1.0",
"@protobufjs/utf8": "^1.1.0",
"@types/node": ">=13.7.0",
"long": "^5.0.0"
},
"engines": {
"node": ">=12.0.0"
}
},
"node_modules/socket.io": { "node_modules/socket.io": {
"version": "4.8.1", "version": "4.8.1",
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz",

View file

@ -17,6 +17,7 @@
"typescript": "^5.6.3" "typescript": "^5.6.3"
}, },
"dependencies": { "dependencies": {
"@valkey/valkey-glide": "^1.1.0",
"http": "^0.0.1-security", "http": "^0.0.1-security",
"socket.io": "^4.8.1" "socket.io": "^4.8.1"
} }