Voir la table des matières
Ce projet vise à déployer et gérer plusieurs applications web en utilisant Docker et Docker Compose. Il inclut des scripts pour automatiser le processus de clonage des dépôts, l'initialisation des variables d'environnement, et le lancement des services. Il est conçu pour être facile à utiliser et à configurer, ainsi que pour être extensible afin d'ajouter de nouvelles applications à l'avenir, avec n'importe quelle technologie.
Avant de commencer, assurez-vous d'avoir satisfait aux exigences suivantes :
- Vous avez installé
DockeretDocker Compose. - Être sur un système Linux (Ubuntu, Debian, etc.) ou macOS possédant bash.
-
Clonez ce dépôt sur votre machine locale :
git clone https://github.com/FloRobart/Flower_garden.git
-
Accédez au répertoire cloné :
cd Flower_garden -
Lancez l'application à l'aide du script RUN.sh :
./RUN.sh
- Le script
RUN.shva faire les actions suivantes :- Cloner les dépôts présents dans le fichier
projects.listà l'aide du scriptcheckout.sh. - Initialiser les variables d'environnement à l'aide du script
init-env.sh. - Lancer la commande
docker-compose uppour démarrer les services. Cette commande va faire les actions suivantes :- Construire les images Docker décrites dans le fichier
docker-compose.yml. - Créer les réseaux et volumes nécessaires.
- Créer et configurer les conteneurs pour chaque service.
- Démarrer les conteneurs.
- Construire les images Docker décrites dans le fichier
- Cloner les dépôts présents dans le fichier
- Le script
-
Accédez aux applications via votre navigateur web :
- FlorAccess serveur : http://localhost:26001
- Econoris serveur : http://localhost:26002
- Econoris app : http://localhost:26003
- FlollyList serveur : http://localhost:26004
- FlollyList app : http://localhost:26005
-
Cloner le dépôt
git clone https://github.com/FloRobart/Flower_garden.git
-
Accédez au répertoire cloné
cd Flower_garden -
Passer sur la branche de production
git checkout prod
-
Créer les fichiers d'environnement
./init-env.sh
-
Completer les variables d'environnement dans les fichiers
.enven veillant à ne pas remplir les numéros de ports afin d'utiliser les ports par défaut pour la production (80). -
Lancez l'application
docker compose -f docker-compose.yml -f docker-compose.proxy.yml up -d
FlorAccess est une API d'authentification.
Econoris serveur est le backend de l'application Econoris.
Econoris app est le frontend de l'application Econoris.
FlollyList serveur est le backend de l'application FlollyList.
FlollyList app est le frontend de l'application FlollyList.
Vous devrez suivre les étapes suivantes pour chaque partie d'une nouvelle application à ajouter à Flower Garden, par exemple si vous ajoutez un application avec une base de données, un back-end et un front-end, vous devrez répéter ces étapes trois fois.
- Ajouter le dépôt git de l'application dans le fichier
/projects.list - Ajouter un fichier configuration dans le dossier
/configs/en suivant les conventions de nommage (copier se qui à déjà été fait pour les autres applications) - Ajouter les informations nécessaires dans le fichier
/.env.exampleen suivant les conventions de nommage (copier se qui à déjà été fait pour les autres applications) - Ajouter le service dans le fichier
docker-compose.dev.ymlen suivant les conventions de nommage (copier se qui à déjà été fait pour les autres applications) - Ajouter le service dans le fichier
docker-compose.ymlen suivant les conventions de nommage (copier se qui à déjà été fait pour les autres applications) - Ajouter le service dans le fichier
docker-compose.proxy.ymlen suivant les conventions de nommage (copier se qui à déjà été fait pour les autres applications)
Copyright (C) 2024 Floris Robart
Authors: Floris Robart
This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
