diff --git a/docker-compose.yml b/docker-compose.yml index 0de1a99ccfcf27772ed50d561ea3be408c978331..275112e02d539e6428b917b22b1c31bb35dc3b3d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,18 +1,55 @@ -version: '3.8' - services: postgres: image: postgres:15-alpine container_name: jump_dash_db restart: always environment: - POSTGRES_USER: ${DB_USER} - POSTGRES_PASSWORD: ${DB_PASSWORD} - POSTGRES_DB: ${DB_NAME} + POSTGRES_HOST_AUTH_METHOD: "trust" + POSTGRES_USER: ${DB_USER:-test} + POSTGRES_PASSWORD: ${DB_PASSWORD:-test} + POSTGRES_DB: ${DB_NAME:-game_db} 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 + command: --gameWsPort=3000 --monitorsWsPort=3001 --minScore=5 + 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 --wsPort=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: diff --git a/game/server/db/db.js b/game/server/db/db.js index ce33603dcbbffe12e804803cbc19597214fcaf65..db435e06421060d17aa6a8f2f109af844f7ffdcc 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', }); diff --git a/game/server/server.js b/game/server/server.js index 2d9d5ca5f17dccc07103d5500ac178468cfdfe2d..d3c9db16c1c49756353de8178aa7aac9395b3bd0 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 95e5111c264d3f800359cfd97d23f7f5ae5f17b1..ab11c80d4d965a5c84feb171589ff3240bffb1a6 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);