From b48f81df2b2f3e21b0f0741a28aa3741a90084d7 Mon Sep 17 00:00:00 2001 From: Massiles Ghernaout <749-gm213204@users.noreply.www-apps.univ-lehavre.fr> Date: Sun, 30 Nov 2025 16:46:55 +0100 Subject: [PATCH 1/3] first approach to a docker compose automation file --- docker-compose.yml | 45 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 40 insertions(+), 5 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 0de1a99..757d56d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,18 +1,53 @@ -version: '3.8' - services: postgres: image: postgres:15-alpine container_name: jump_dash_db restart: always environment: - POSTGRES_USER: ${DB_USER} + POSTGRES_USER: ${DB_USER} POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_DB: ${DB_NAME} ports: - - "${DB_PORT}:5432" + - "${DB_PORT}:5432" volumes: - db_data:/var/lib/postgresql/data + game-server: + image: game-server + network_mode: "host" + container_name: game-server + stdin_open: true + tty: true + depends_on: + - postgres + + monitor-arduino: + image: monitor-arduino + network_mode: "host" + container_name: monitor-arduino + stdin_open: true + tty: true + command: --remote=ws://localhost:3001 --port=8080 + depends_on: + - game-server + + game-client: + image: game-client + network_mode: "host" + container_name: game-client + stdin_open: true + tty: true + depends_on: + - game-server + + monitor-client: + image: monitor-client + network_mode: "host" + container_name: monitor-client + stdin_open: true + tty: true + depends_on: + - monitor-arduino + volumes: - db_data: \ No newline at end of file + db_data: -- GitLab From 31582b1bf99882dd374d59098cc4d4b3e5a26092 Mon Sep 17 00:00:00 2001 From: Massiles Ghernaout <749-gm213204@users.noreply.www-apps.univ-lehavre.fr> Date: Sun, 30 Nov 2025 18:56:47 +0100 Subject: [PATCH 2/3] fixed command line arguments conflicts (conflicts with docker) --- docker-compose.yml | 6 ++++-- game/server/server.js | 8 ++++---- monitor/server/monitor-arduino.js | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 757d56d..d822625 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,6 +4,7 @@ services: container_name: jump_dash_db restart: always environment: + POSTGRES_HOST_AUTH_METHOD: "trust" POSTGRES_USER: ${DB_USER} POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_DB: ${DB_NAME} @@ -16,8 +17,9 @@ services: image: game-server network_mode: "host" container_name: game-server - stdin_open: true + stdin_open: true tty: true + command: --gameWsPort=3000 --monitorsWsPort=3001 --minScore=5 depends_on: - postgres @@ -27,7 +29,7 @@ services: container_name: monitor-arduino stdin_open: true tty: true - command: --remote=ws://localhost:3001 --port=8080 + command: --remote=ws://localhost:3001 --wsPort=8080 depends_on: - game-server diff --git a/game/server/server.js b/game/server/server.js index 2d9d5ca..d3c9db1 100644 --- a/game/server/server.js +++ b/game/server/server.js @@ -10,8 +10,8 @@ const { initDB, bufferGameRun } = require('./db/db'); // --- Lecture des arguments CLI --- const argv = minimist(process.argv.slice(2), { default: { - httpPort: 3000, - monitorPort: 3001, + gameWsPort: 3000, + monitorsWsPort: 3001, sensorId: "ttyACM0", baud: 9600, minScore: 2 @@ -19,8 +19,8 @@ const argv = minimist(process.argv.slice(2), { }); // --- Configuration CLI --- -const HTTP_PORT = argv.httpPort; -const MONITOR_PORT = argv.monitorPort; +const HTTP_PORT = argv.gameWsPort; +const MONITOR_PORT = argv.monitorsWsPort; const SENSOR_ID = argv.sensorId; const MIN_SCORE_TO_SAVE = argv.minScore; const BAUD_RATE = argv.baud; diff --git a/monitor/server/monitor-arduino.js b/monitor/server/monitor-arduino.js index 95e5111..ab11c80 100644 --- a/monitor/server/monitor-arduino.js +++ b/monitor/server/monitor-arduino.js @@ -8,7 +8,7 @@ const minimist = require('minimist'); const args = minimist(process.argv.slice(2)); const REMOTE_WS_URL = args.remote || "ws://localhost:3001"; -const LOCAL_PORT = args.port || 8080; +const LOCAL_PORT = args.wsPort || 8080; console.log("Remote WebSocket URL:", REMOTE_WS_URL); console.log("Local server port:", LOCAL_PORT); -- GitLab From e02b1c08a95e6e3d86e2fda3038165b646acec4e Mon Sep 17 00:00:00 2001 From: Massiles Ghernaout <749-gm213204@users.noreply.www-apps.univ-lehavre.fr> Date: Sun, 30 Nov 2025 19:03:23 +0100 Subject: [PATCH 3/3] added default values for the db configs --- docker-compose.yml | 6 +++--- game/server/db/db.js | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index d822625..275112e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,9 +5,9 @@ services: restart: always environment: POSTGRES_HOST_AUTH_METHOD: "trust" - POSTGRES_USER: ${DB_USER} - POSTGRES_PASSWORD: ${DB_PASSWORD} - POSTGRES_DB: ${DB_NAME} + POSTGRES_USER: ${DB_USER:-test} + POSTGRES_PASSWORD: ${DB_PASSWORD:-test} + POSTGRES_DB: ${DB_NAME:-game_db} ports: - "${DB_PORT}:5432" volumes: diff --git a/game/server/db/db.js b/game/server/db/db.js index ce33603..db435e0 100644 --- a/game/server/db/db.js +++ b/game/server/db/db.js @@ -7,9 +7,9 @@ const { Pool } = require('pg'); // --- Configuration de la Connexion BDD --- // Utilisation des variables definies dans le fichier .env pour la securite const pool = new Pool({ - user: process.env.DB_USER, - password: process.env.DB_PASSWORD, - database: process.env.DB_NAME, + user: process.env.DB_USER || "test", + password: process.env.DB_PASSWORD || "test" , + database: process.env.DB_NAME || "game_db", port: process.env.DB_PORT || 5432, host: process.env.DB_HOST || 'localhost', }); -- GitLab