diff --git a/back-end/Dockerfile.back b/back-end/Dockerfile.back index 8b28269..9079939 100644 --- a/back-end/Dockerfile.back +++ b/back-end/Dockerfile.back @@ -5,12 +5,12 @@ FROM node:22-alpine WORKDIR /usr/src/back # Environment declaration variables -ARG NODE_ENV="dev" -ARG DB_HOST="postgres" -ARG DB_NAME="briques" -ARG DB_USER="briques_db" -ARG DB_PASSWORD="briques_password" -ARG DB_PORT=5432 +ENV NODE_ENV="dev" +ENV DB_HOST="briques_postgres" +ENV DB_NAME="briques_db" +ENV DB_USER="briques_llm" +ENV DB_PASSWORD="briques_password_2025" +ENV DB_PORT=5432 COPY package.json ./ @@ -40,4 +40,5 @@ RUN chmod -R u=rwx,g=,o= ./ EXPOSE 3000 # Start app -CMD ["pm2", "start", "dist/app.js", "--no-daemon"] +CMD ["npm", "run", "startonly"] +#CMD ["pm2", "start", "dist/app.js", "--no-daemon"] diff --git a/back-end/package.json b/back-end/package.json index b728e0d..7c8cdf5 100644 --- a/back-end/package.json +++ b/back-end/package.json @@ -14,6 +14,7 @@ "description": "", "devDependencies": { "@types/express": "^5.0.0", + "@types/pg": "^8.11.10", "globals": "^15.11.0", "typescript": "^5.6.3" }, diff --git a/back-end/src/app.ts b/back-end/src/app.ts index bd7c445..dee7341 100644 --- a/back-end/src/app.ts +++ b/back-end/src/app.ts @@ -1,9 +1,12 @@ import express from 'express'; -const app = express(); -const port = 3000; +import db from './db'; -app.get('/', (req, res) => { - res.send('Hello World!'); +const app = express(); +const port = process.env.PORT ?? 3000; + +app.get('/', async (_req, res) => { + const message = await db.example_request(); + res.send(message); }); app.listen(port, () => { diff --git a/back-end/src/db/db_client.ts b/back-end/src/db/db_client.ts new file mode 100644 index 0000000..52d29ca --- /dev/null +++ b/back-end/src/db/db_client.ts @@ -0,0 +1,23 @@ +import pg from 'pg'; + +const db_user = process.env.DB_USER ?? "admin"; +const db_password = process.env.DB_PASSWORD ?? "admin"; +const db_name = process.env.DB_NAME ?? "briques"; +const db_host = process.env.DB_HOST ?? "localhost"; +const db_port = parseInt(process.env.DB_PORT ?? "5432"); + +console.log("=== DB CONFIG ==="); +console.log(`DB_USER:\t\t${db_user}`); +console.log(`DB_PASSWORD:\t${db_user}`); +console.log(`DB_NAME:\t\t${db_name}`); +console.log(`DB_HOST:\t\t${db_host}`); +console.log(`DB_PORT:\t\t${db_port}`); + + +export const new_client = () => new pg.Client({ + user: db_user, + password: db_password, + database: db_name, + host: db_host, + port: db_port, +}); diff --git a/back-end/src/db/index.ts b/back-end/src/db/index.ts new file mode 100644 index 0000000..934d4dd --- /dev/null +++ b/back-end/src/db/index.ts @@ -0,0 +1,16 @@ +import { new_client } from './db_client'; + +async function example_request() { + const client = new_client(); + await client.connect(); + + const res = await client.query('SELECT $1::text as message', ['Hello world!']); + const message = res.rows[0].message; // Hello world! + await client.end(); + + return message; +} + +export default { + example_request, +}; diff --git a/docker-compose.yml b/docker-compose.yml index 12c63f9..bf9b6ff 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,6 +10,11 @@ services: - POSTGRES_PASSWORD=${DB_PASSWORD} volumes: - ./database:/var/lib/postgresql/data + + networks: + - briques-db + + back: hostname: back container_name: briques_back @@ -27,8 +32,21 @@ services: - '${NODE_PORT}:3000' depends_on: - database + + networks: + - briques-db + adminer: image: adminer restart: always ports: - 8080:8080 + + networks: + - briques-db + + +networks: + briques-db: + driver: bridge +