(English version below)
- Avoir docker installé sur sa machine
$ docker -v
Docker version 20.10.22, build 3a2c30b
- Avoir openssl installé sur sa machine
$ openssl version
OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)
- S'assurer que les lignes suivantes soient présente dans le host
127.0.0.1 back.myapp.local
127.0.0.1 admin.myapp.local
127.0.0.1 front.myapp.local
Le fichier se trouve sous
/etc/hosts
pour linux et macOS
et dans
C:\Windows\System32\drivers\etc\hosts
pour windows
- Récupérer l'ensemble des submodules nécessaire à l'exécution du projet (server, admin et frontend)
git submodule update --init --recursive
- Copier les fichier nécessaires à la bonne exécution de votre env (il est possible de définir des environnements pour les futur deploiements)
bin/copy-specifics.sh
Générer un certificat SSL auto-signé pour une application locale (les commandes doivent être lancée depuis le dossier root de votre application)
Exécuter la commande (notez qu'il est possible de modifier la configuration en modifiant le script avant de l'exécuter)
bin/generate_local_certificates.sh
exemple de configuration :
[ subject ]
countryName = Country Name (2 letter code)
countryName_default = CH
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = Vaud
localityName = Locality Name (eg, city)
localityName_default = Lausanne
organizationName = Organization Name (eg, company)
organizationName_default = Portfolio
commonName = Common Name (e.g. server FQDN or YOUR name)
commonName_default = *.myapp.local
commonName_max = 64
Vous devriez maintenant avoir deux fichiers: myapp.local.key (clé privée) et myapp.local.crt (certificat auto-signé).
- Run :
bin/start_containers.sh
- Créer un nouvel admin :
bin/create_admin.sh server
- Importer les samples data
bin/import-data.sh -f sampleData.json
(Ce script peut également servir à importer vos propre données, depuis un fichier json à placer dans server/data)
ou
bin/restore_database.sh database_backups/sample_db_portfolio_project.gz
- Faire un backup de la db
bin/backup_database.sh
Le backup est crée dans le dossier database_backups et peut être chargé via la commande :
bin/restore_database.sh database_backups/nomdufichier.gz
(Ce script peut également servir à importer vos propre données, depuis un fichier json à placer dans server/data)
- Nettoyer la db (supprime toutes les données dans les collections)
bin/clean_database.sh
- Rebuild les containers
bin/build_containers.sh
- Demarrer les containers
bin/start_containers.sh
- Stopper les containers
bin/stop_containers.sh
- Supprimer les containers
bin/remove_containers.sh
- Lister les user admins
bin/list_admin.sh
- Le certificat autosigné est bloqué par le serveur : régler le soucis sur le navigateur utilisé
Exemple avec Firefox : https://support.mozilla.org/fr/kb/comment-regler-codes-erreur-securite-sur-sites-securises#w_certificats-auto-signes
- Have docker installed on your machine
$ docker -v
Docker version 20.10.22, build 3a2c30b
- Have openssl installed on your machine
$ openssl version
OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)
- Make sure the following lines are present in the host
127.0.0.1 back.myapp.local
127.0.0.1 admin.myapp.local
127.0.0.1 front.myapp.local
The file is located under
/etc/hosts
for linux and macOS
and in
C:\Windows\System32\drivers\etc\hosts
for windows
- Retrieve all submodules needed to run the project (server, admin and frontend)
git submodule update --init --recursive
- Copy the files you need to run your env (you can define environments for future deployments)
bin/copy-specifics.sh
Generate a self-signed SSL certificate for a local application (commands must be run from your application's root folder)
Execute the command (note that it is possible to modify the configuration by editing the script before executing it)
bin/generate_local_certificates.sh
configuration example :
[ subject ]
countryName = Country Name (2 letter code)
countryName_default = CH
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = Vaud
localityName = Locality Name (eg, city)
localityName_default = Lausanne
organizationName = Organization Name (eg, company)
organizationName_default = Portfolio
commonName = Common Name (e.g. server FQDN or YOUR name)
commonName_default = *.myapp.local
commonName_max = 64
You should now have two files: myapp.local.key (private key) and myapp.local.crt (self-signed certificate).
- run :
bin/start_containers.sh
- Create a new admin :
bin/create_admin.sh server
- Import sample data
bin/import-data.sh -f sampleData.json
(This script can also be used to import your own data, from a json file in server/data)
or
bin/restore_database.sh database_backups/sample_db_portfolio_project.gz
- Make a backup of the db
bin/backup_database.sh
The backup is created in the database_backups folder and can be loaded with the command :
bin/restore_database.sh database_backups/filename.gz
(This script can also be used to import your own data, from a json file in server/data).
- Clean up db (deletes all data in collections)
bin/clean_database.sh
- Rebuild containers
bin/build_containers.sh
- Start containers
bin/start_containers.sh
- Stop containers
bin/stop_containers.sh
- Delete containers
bin/remove_containers.sh
- List user admins
bin/list_admin.sh
- The self-signed certificate is blocked by the server: fix the problem in the browser used.
Firefox example: https://support.mozilla.org/fr/kb/comment-regler-codes-erreur-securite-sur-sites-securises#w_certificats-auto-signes