Newer
Older
# Déploiement de Geocontrib avec Docker
## Installation
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
```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-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
```shell
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
```
##### 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;
}
}
```