# Déploiement de Geocontrib avec Docker ## Installation ### Manuelle Cloner le dépôt. Créer une fichier .env en se basant sur le env.sample et corriger le contenu. ### Avancée #### Cloner un dépot de configuration geocontrib Depuis un autre dépot, par exemple: * https://git.neogeo.fr/batigere/docker-configuration * https://git.neogeo.fr/mrn-mission-des-risques-naturels/docker-configuration * https://git.neogeo.fr/datasud/dockers/docker-configuration #### Installer gitlab runner Sur le serveur de destination: ##### Installer gitlab runner ```shell curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash sudo apt-get -y install gitlab-runner ``` ##### Configurer le runner Dans le repo créé : Settings > CI/CD > Runners > Project runners > New project runner -> suivre les indications Bien expliciter le tag du runner par exemple "deploy-geocontrib-nomduclient-recette" Éditer le fichier .gitlab-ci.yml pour renseigner le tag Si besoin surcharger le fichier recette.docker-compose.override.yml et le recette.env Sur le serveur de destination, cloner https://git.neogeo.fr/geocontrib/geocontrib-docker dans /opt/geocontrib/geocontrib-docker en étant l'utilisateur gitlab-runner. ```shell sudo -u gitlab-runner mkdir -p /opt/geocontrib/geocontrib-docker sudo -u gitlab-runner mkdir -p /opt/geocontrib/geocontrib-config sudo -u gitlab-runner git clone git@git.neogeo.fr:geocontrib/geocontrib-docker.git /opt/geocontrib/geocontrib-docker sudo -u gitlab-runner git clone [dépot créé au début] /opt/geocontrib/geocontrib-config ``` Dans le dossier geocontrib-docker, création de deux liens symboliques pour pointer vers geocontrib-config ```shell sudo -u gitlab-runner ln -s /opt/geocontrib/geocontrib-config/recette.env /opt/geocontrib/geocontrib-docker/.env sudo -u gitlab-runner ln -s /opt/geocontrib/geocontrib-config/recette.docker-compose.override.yml /opt/geocontrib/geocontrib-docker/docker-compose.override.yml ``` ##### Donner accès depuis internet en fonction de l'environnement Exemple de configuration nginx : ```nginx server { error_log /var/log/nginx/ega-preprod.mrn.asso.fr_error.log warn; access_log /var/log/nginx/ega-preprod.mrn.asso.fr_access.log combined; listen 80; server_name recette.fr; location / { proxy_pass http://127.0.0.1:8085$request_uri; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 0; # Websocket proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; } } ``` ## Configuration Variables Docker : https://git.neogeo.fr/geocontrib/geocontrib-django/-/tree/develop/docs/documentation_technique/Docker.md