Merge branch 'add-pg-client'
This commit is contained in:
commit
088f07a804
@ -5,12 +5,12 @@ FROM node:22-alpine
|
|||||||
WORKDIR /usr/src/back
|
WORKDIR /usr/src/back
|
||||||
|
|
||||||
# Environment declaration variables
|
# Environment declaration variables
|
||||||
ARG NODE_ENV="dev"
|
ENV NODE_ENV="dev"
|
||||||
ARG DB_HOST="postgres"
|
ENV DB_HOST="briques_postgres"
|
||||||
ARG DB_NAME="briques"
|
ENV DB_NAME="briques_db"
|
||||||
ARG DB_USER="briques_db"
|
ENV DB_USER="briques_llm"
|
||||||
ARG DB_PASSWORD="briques_password"
|
ENV DB_PASSWORD="briques_password_2025"
|
||||||
ARG DB_PORT=5432
|
ENV DB_PORT=5432
|
||||||
|
|
||||||
COPY package.json ./
|
COPY package.json ./
|
||||||
|
|
||||||
@ -40,4 +40,5 @@ RUN chmod -R u=rwx,g=,o= ./
|
|||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
|
|
||||||
# Start app
|
# Start app
|
||||||
CMD ["pm2", "start", "dist/app.js", "--no-daemon"]
|
CMD ["npm", "run", "startonly"]
|
||||||
|
#CMD ["pm2", "start", "dist/app.js", "--no-daemon"]
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
"description": "",
|
"description": "",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/express": "^5.0.0",
|
"@types/express": "^5.0.0",
|
||||||
|
"@types/pg": "^8.11.10",
|
||||||
"globals": "^15.11.0",
|
"globals": "^15.11.0",
|
||||||
"typescript": "^5.6.3"
|
"typescript": "^5.6.3"
|
||||||
},
|
},
|
||||||
|
@ -1,9 +1,12 @@
|
|||||||
import express from 'express';
|
import express from 'express';
|
||||||
const app = express();
|
import db from './db';
|
||||||
const port = 3000;
|
|
||||||
|
|
||||||
app.get('/', (req, res) => {
|
const app = express();
|
||||||
res.send('Hello World!');
|
const port = process.env.PORT ?? 3000;
|
||||||
|
|
||||||
|
app.get('/', async (_req, res) => {
|
||||||
|
const message = await db.example_request();
|
||||||
|
res.send(message);
|
||||||
});
|
});
|
||||||
|
|
||||||
app.listen(port, () => {
|
app.listen(port, () => {
|
||||||
|
23
back-end/src/db/db_client.ts
Normal file
23
back-end/src/db/db_client.ts
Normal file
@ -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,
|
||||||
|
});
|
16
back-end/src/db/index.ts
Normal file
16
back-end/src/db/index.ts
Normal file
@ -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,
|
||||||
|
};
|
@ -10,6 +10,11 @@ services:
|
|||||||
- POSTGRES_PASSWORD=${DB_PASSWORD}
|
- POSTGRES_PASSWORD=${DB_PASSWORD}
|
||||||
volumes:
|
volumes:
|
||||||
- ./database:/var/lib/postgresql/data
|
- ./database:/var/lib/postgresql/data
|
||||||
|
|
||||||
|
networks:
|
||||||
|
- briques-db
|
||||||
|
|
||||||
|
|
||||||
back:
|
back:
|
||||||
hostname: back
|
hostname: back
|
||||||
container_name: briques_back
|
container_name: briques_back
|
||||||
@ -27,8 +32,21 @@ services:
|
|||||||
- '${NODE_PORT}:3000'
|
- '${NODE_PORT}:3000'
|
||||||
depends_on:
|
depends_on:
|
||||||
- database
|
- database
|
||||||
|
|
||||||
|
networks:
|
||||||
|
- briques-db
|
||||||
|
|
||||||
adminer:
|
adminer:
|
||||||
image: adminer
|
image: adminer
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
- 8080:8080
|
- 8080:8080
|
||||||
|
|
||||||
|
networks:
|
||||||
|
- briques-db
|
||||||
|
|
||||||
|
|
||||||
|
networks:
|
||||||
|
briques-db:
|
||||||
|
driver: bridge
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user