Ce dossier permet de déployer une instance de [uMap](https://github.com/umap-project/umap/), protégée par une authenfication HTTP.
Ce dossier permet de déployer une instance de [uMap](https://github.com/umap-project/umap/), un logiciel libre permettant de créer des cartes personnalisées sur fond de carte OpenStreetMap.
Cette image Docker essentiellement utilise le package Python `umap-project`, et ajoute :
*`uWSGI`, utilisé ici comme serveur d'application Python.
*`nginx`, car Traefik ne supporte pas `uWSGI`.
* Un entrypoint permettant d'initialiser la base de donnée et de compresser les fichiers statiques.
Lors du lancement de l'application, les fichiers statiques sont copiés dans `/srv/umap/static`. Le fichier [uwsgi.ini](./uwsgi.ini) permet justement de router les requêtes qui commencent par `/static` vers ce dossier.
## Configuration
L'ensemble de la configuration se fait via l'environnement.
Le fichier [settings.py](./settings.py) est injecté au lancement de `uMap` (via `UMAP_SETTINGS`), et permet de charger toutes les variables de configuration à partir des variables d'environnement, ou des valeurs par défaut.
Les variables sont réparties entre le fichier Compose et les fichiers de secrets.
## Lancement
S'assurer que l'image a été construite et poussée sur le registre de production.
```bash
docker-compose up -d&& docker-compose logs -f
```
### Premier lancement
Dans la configuration actuelle, l'instance est fermée et les comptes doivent être créés manuellement.
En particulier, un compte administrateur doit être créé au premier lancement.
```bash
docker-compose exec app bash
umap createsuperuser
```
Remplir les différents champs.
## Mise à jour
Changer l'argument `UMAP_VERSION` du [Dockerfile](./Dockerfile), et mettre à jour le tag de l'image dans le fichier Compose.
Pour les mises à jour majeures des SGBD, voir leur documentation officielle.