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.
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
### 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
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;
}
}
```