-
Pierre GROS authoredPierre GROS authored
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 https://git.neogeo.fr/geocontrib/geocontrib-docker-configuration
Installer gitlab runner
Sur le serveur de destination:
Installer gitlab runner
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.
sudo -u gitlab-runner mkdir -p /opt/geocontrib/geocontrib-docker
sudo -u gitlab-runner mkdir -p /opt/geocontrib/geocontrib-docker-configuration
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-docker-configuration
Note : au cas où ce repository soit privé (ce qui est conseillé au vu des configurations), alors il faudra créer un access token : Settings > Access Tokens > New, et en créer un avec comme droit read_repository.
Puis sur le serveur
cd /opt/geocontrib/geocontrib-docker-configuration
sudo -u gitlab-runner git config --global credential.helper store
sudo -u gitlab-runner git pull
Les identifiants sont à saisir une fois et serons ensuite stockés en clair sur la machine. Le nom d’utilisateur peut-être n’importe quoi, seul le mot de passe compte, mais par défaut, mieux-vaut utiliser le nom du token comme login.
Dans le dossier geocontrib-docker, création de deux liens symboliques pour pointer vers geocontrib-docker-configuration
sudo -u gitlab-runner ln -s /opt/geocontrib/geocontrib-docker-configuration/recette.env /opt/geocontrib/geocontrib-docker/.env
sudo -u gitlab-runner ln -s /opt/geocontrib/geocontrib-docker-configuration/recette.docker-compose.override.yml /opt/geocontrib/geocontrib-docker/docker-compose.override.yml
sudo usermod -a -G docker gitlab-runner
Donner accès depuis internet en fonction de l'environnement
Exemple de configuration 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