trying to connect db to backend
This commit is contained in:
parent
9c9d855722
commit
d96861cddf
4
Makefile
4
Makefile
@ -6,13 +6,13 @@
|
||||
# By: apommier <apommier@student.42.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2023/03/19 09:29:27 by apommier #+# #+# #
|
||||
# Updated: 2023/03/19 11:22:00 by apommier ### ########.fr #
|
||||
# Updated: 2023/03/22 17:51:22 by apommier ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
all:
|
||||
# -mkdir -p /home/apommier/data/wordpress
|
||||
# -mkdir -p /home/apommier/data/mariadb
|
||||
-mkdir -p /home/apommier/data/postgresql
|
||||
docker-compose -f docker-compose.yml up --build
|
||||
|
||||
fclean: down
|
||||
|
||||
102
backend/package-lock.json
generated
102
backend/package-lock.json
generated
@ -37,6 +37,11 @@
|
||||
"unpipe": "1.0.0"
|
||||
}
|
||||
},
|
||||
"buffer-writer": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz",
|
||||
"integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw=="
|
||||
},
|
||||
"bytes": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
|
||||
@ -92,6 +97,11 @@
|
||||
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
|
||||
"integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="
|
||||
},
|
||||
"dotenv": {
|
||||
"version": "16.0.3",
|
||||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
|
||||
"integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ=="
|
||||
},
|
||||
"ee-first": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
|
||||
@ -320,6 +330,11 @@
|
||||
"ee-first": "1.1.1"
|
||||
}
|
||||
},
|
||||
"packet-reader": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz",
|
||||
"integrity": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ=="
|
||||
},
|
||||
"parseurl": {
|
||||
"version": "1.3.3",
|
||||
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
|
||||
@ -330,6 +345,83 @@
|
||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
|
||||
"integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
|
||||
},
|
||||
"pg": {
|
||||
"version": "8.10.0",
|
||||
"resolved": "https://registry.npmjs.org/pg/-/pg-8.10.0.tgz",
|
||||
"integrity": "sha512-ke7o7qSTMb47iwzOSaZMfeR7xToFdkE71ifIipOAAaLIM0DYzfOAXlgFFmYUIE2BcJtvnVlGCID84ZzCegE8CQ==",
|
||||
"requires": {
|
||||
"buffer-writer": "2.0.0",
|
||||
"packet-reader": "1.0.0",
|
||||
"pg-connection-string": "^2.5.0",
|
||||
"pg-pool": "^3.6.0",
|
||||
"pg-protocol": "^1.6.0",
|
||||
"pg-types": "^2.1.0",
|
||||
"pgpass": "1.x"
|
||||
}
|
||||
},
|
||||
"pg-connection-string": {
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz",
|
||||
"integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ=="
|
||||
},
|
||||
"pg-int8": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz",
|
||||
"integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw=="
|
||||
},
|
||||
"pg-pool": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.6.0.tgz",
|
||||
"integrity": "sha512-clFRf2ksqd+F497kWFyM21tMjeikn60oGDmqMT8UBrynEwVEX/5R5xd2sdvdo1cZCFlguORNpVuqxIj+aK4cfQ=="
|
||||
},
|
||||
"pg-protocol": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.6.0.tgz",
|
||||
"integrity": "sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q=="
|
||||
},
|
||||
"pg-types": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz",
|
||||
"integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==",
|
||||
"requires": {
|
||||
"pg-int8": "1.0.1",
|
||||
"postgres-array": "~2.0.0",
|
||||
"postgres-bytea": "~1.0.0",
|
||||
"postgres-date": "~1.0.4",
|
||||
"postgres-interval": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"pgpass": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz",
|
||||
"integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==",
|
||||
"requires": {
|
||||
"split2": "^4.1.0"
|
||||
}
|
||||
},
|
||||
"postgres-array": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz",
|
||||
"integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA=="
|
||||
},
|
||||
"postgres-bytea": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz",
|
||||
"integrity": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w=="
|
||||
},
|
||||
"postgres-date": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz",
|
||||
"integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q=="
|
||||
},
|
||||
"postgres-interval": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz",
|
||||
"integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==",
|
||||
"requires": {
|
||||
"xtend": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"proxy-addr": {
|
||||
"version": "2.0.7",
|
||||
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
|
||||
@ -426,6 +518,11 @@
|
||||
"object-inspect": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"split2": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/split2/-/split2-4.1.0.tgz",
|
||||
"integrity": "sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ=="
|
||||
},
|
||||
"statuses": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
|
||||
@ -459,6 +556,11 @@
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
|
||||
"integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="
|
||||
},
|
||||
"xtend": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
||||
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -9,7 +9,9 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"body-parser": "^1.20.2",
|
||||
"express": "^4.18.2"
|
||||
"dotenv": "^16.0.3",
|
||||
"express": "^4.18.2",
|
||||
"pg": "^8.10.0"
|
||||
},
|
||||
"devDependencies": {},
|
||||
"license": "ISC"
|
||||
|
||||
@ -1,7 +1,48 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* server.js :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2023/03/22 18:05:15 by apommier #+# #+# */
|
||||
/* Updated: 2023/03/22 19:20:40 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
const express = require('express');
|
||||
const bodyParser = require('body-parser');
|
||||
// const { Client } = require('pg');
|
||||
const { Pool } = require('pg');
|
||||
|
||||
const pool = new Pool({
|
||||
host: '127.0.0.1',
|
||||
port: 5432,
|
||||
user: 'kinou',
|
||||
password: 'pass',
|
||||
database: 'postgreDB'
|
||||
})
|
||||
|
||||
module.exports = pool;
|
||||
|
||||
|
||||
pool.query('SELECT * FROM users', (err, res) => {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
} else {
|
||||
console.log(res.rows);
|
||||
}
|
||||
});
|
||||
|
||||
const app = express();
|
||||
// app.use(express.json());
|
||||
// const client = new Client({
|
||||
// host: process.env.POSTGRES_HOST,
|
||||
// port: process.env.POSTGRES_PORT,
|
||||
// user: process.env.POSTGRES_USER,
|
||||
// password: process.env.POSTGRES_PASSWORD,
|
||||
// database: process.env.POSTGRES_DB
|
||||
// });
|
||||
// client.connect();
|
||||
|
||||
app.use(bodyParser.urlencoded({ extended: false }));
|
||||
app.use(bodyParser.json());
|
||||
|
||||
19
database/init.sql
Normal file
19
database/init.sql
Normal file
@ -0,0 +1,19 @@
|
||||
|
||||
|
||||
DROP DATABASE IF EXISTS test;
|
||||
CREATE DATABASE postgreDB;
|
||||
CREATE USER IF NOT EXISTS '$POSTGRES_USER'@'%' IDENTIFIED BY 'POSTGRES_PASSWORD';
|
||||
GRANT ALL PRIVILEGES ON *.* TO '$POSTGRES_USER'@'%';
|
||||
SET PASSWORD FOR 'root'@'$POSTGRES_HOST' = PASSWORD('POSTGRES_ROOT_PASSWORD');
|
||||
|
||||
FLUSH PRIVILEGES;
|
||||
CREATE TABLE user (
|
||||
nickname varchar(20),
|
||||
user_password varchar(20),
|
||||
user_login varchar(20)
|
||||
);
|
||||
|
||||
CREATE TABLE score (
|
||||
win int,
|
||||
loose int
|
||||
);
|
||||
@ -7,10 +7,9 @@ services:
|
||||
context : ./
|
||||
dockerfile: ./dockerfiles/Dockerfile.nginx
|
||||
container_name: nginx
|
||||
#image: nginx:homemade
|
||||
env_file: .env
|
||||
depends_on:
|
||||
- backend
|
||||
# - backend
|
||||
ports:
|
||||
- 80:80
|
||||
# - 443:443
|
||||
@ -20,7 +19,6 @@ services:
|
||||
networks:
|
||||
- pongNetwork
|
||||
|
||||
# backend:
|
||||
backend:
|
||||
build:
|
||||
context : ./
|
||||
@ -28,7 +26,6 @@ services:
|
||||
container_name: backend
|
||||
ports:
|
||||
- 5000:5000
|
||||
#image: wordpress:homemade
|
||||
env_file: .env
|
||||
volumes:
|
||||
- ./frontend:/var/www/html
|
||||
@ -36,9 +33,9 @@ services:
|
||||
# - ./backend:/home/node/app
|
||||
depends_on:
|
||||
- postgresql
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- pongNetwork
|
||||
# restart: unless-stopped
|
||||
|
||||
postgresql:
|
||||
build: #./dockerfiles/Dockerfile.PostgreSQL
|
||||
@ -47,7 +44,8 @@ services:
|
||||
container_name: postgresql
|
||||
#image: mariadb:homemade
|
||||
ports:
|
||||
- 3306:3306
|
||||
- 5432:5432
|
||||
# - ${POSTGRES_PORT}:${POSTGRES_PORT}
|
||||
env_file: .env
|
||||
#volumes:
|
||||
# - dbdata:/var/lib/mysql
|
||||
|
||||
@ -6,8 +6,12 @@
|
||||
# By: apommier <apommier@student.42.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2023/03/19 09:28:30 by apommier #+# #+# #
|
||||
# Updated: 2023/03/19 11:24:21 by apommier ### ########.fr #
|
||||
# Updated: 2023/03/22 18:45:25 by apommier ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
FROM postgres:latest
|
||||
COPY database/init.sql /docker-entrypoint-initdb.d/
|
||||
# RUN sed -i 's/bind-address/bind-address = 0.0.0.0 #/i' /etc/mysql/mariadb.conf.d/50-server.cnf
|
||||
EXPOSE 5432
|
||||
CMD ["postgres"]
|
||||
@ -6,7 +6,7 @@
|
||||
# By: apommier <apommier@student.42.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2023/03/19 09:28:33 by apommier #+# #+# #
|
||||
# Updated: 2023/03/22 12:14:35 by apommier ### ########.fr #
|
||||
# Updated: 2023/03/22 19:40:22 by apommier ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
@ -30,5 +30,8 @@ RUN npm install
|
||||
#npm install body-parser
|
||||
COPY /backend/ .
|
||||
EXPOSE 5000
|
||||
# RUN curl -o /usr/wait-for-it.sh https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh
|
||||
# CMD ["/usr/wait-for-it.sh", "postgresql:5432", "--", "node", "server.js"]
|
||||
# CMD ["npm", "start"]
|
||||
CMD dockerize -wait tcp://postgresql:5432 -timeout 60s
|
||||
CMD ["node", "server.js"]
|
||||
|
||||
Loading…
Reference in New Issue
Block a user