-
Notifications
You must be signed in to change notification settings - Fork 2
4.8 Configuration Serveur
LeveauArnaud edited this page Dec 16, 2020
·
5 revisions
Nous avons utilisé un serveur VPS ou Virtual Private Server de chez 1&1 ionos. Celui-ci est l'équilibre parfait entre prix, performances et sécurité. En effet un VPS a son propre système d'exploitation et surtout ne partage pas ces ressources, RAM,... avec d'autres personnes sur le serveur dédiés.
Nous avons décidé utiliser Docker pour séparer nos différents services.
- Un container Node pour notre API
- Un container PostgreSQL pour notre Base de donnée
L'ensemble est déployable par docker-compose.
- Machine Ubuntu (avec un compte "sudoer")
- docker
- (docker-compose)
- git
Avec un compte sudoer, exécuter les commandes suivantes :
sudo mkdir /home/projetsudo mkdir /home/projet/sqlsudo mkdir /home/projet/node
- Clonez le projet GitHub :
git clone https://github.com/GonoGoat/projetIntegrationGrp6 - Déplacez-vous dans le dossier Docker :
cd projetIntegrationGrp6/Docker
Lancer le déploiement : sudo docker-compose up -d
- Créer le réseau docker :
sudo docker network create --subnet=172.18.0.0/24 integration6 - Créez l'image PostgreSQL :
sudo docker build -t pgIntegration Postgre - Créez le container PostgreSQL :
docker run -dit --name pg -e POSTGRES_USER=postgresArnaud -e POSTGRES_DB=projetIntegration -e POSTGRES_PASSWORD=zGwgD4he37QvL7YY -p 5432:5432 -v home/projet/postgresdata:/var/lib/postgresql/data --net integration6 --ip 172.18.0.2 pgIntegration - Créez l'image Node.js :
sudo docker build -t nodeIntegration Node - Créez le container Node.js :
sudo docker run -dit --name api --net integration6 --ip 172.18.0.3 -p 8081:8081 -v /home/projet/node/:/home/projet nodeIntegration
- Pour initialiser la base de données avec la base de données du projet :
sudo docker exec -it pg psql -U postgresArnaud -f /home/init.sql - Pour accéder au bash du docker container :
sudo docker container exec -it pg bash
- Déplacer les fichiers du projet dans le volume docker :
sudo cp /home/git/projetIntegrationGrp6/Node.js/* /home/projet/node/ -r - Installer les modules nécessaire au fonctionnement du serveur :
sudo docker exec -it api npm install - Lancer le serveur en mode démon avec PM2 :
sudo docker exec -it pm2 start /home/app.js