Le package camap-docker permet une installation simplifiée de Camap sur une machine Windows ou Linux (ou autre mais non testé). Il utilise les sources camap-hx et camap-ts des dernières versions publiées sur CAMAP-APP qui est également la version de production du serveur de l'InterAMAP44
A noter que la version de production déployée par l'InterAMAP44 diffère, elle n'utilise pas Traefik mais Nginx et dispose de son serveur Postfix.
Script de construction des containers Camap
git clone https://github.com/CAMAP-APP/camap-docker.git
La présente documentation a été testée sur Debian 11 & Windows 11
Installer docker & docker-compose
Sur Debian 11
apt-get install docker-buildx-plugin docker-ce docker-ce-cli docker-compose-plugin
https://docs.docker.com/engine/install/debian/
Sur Windows
Installer Docker Desktop
lancer
build_camap_docker.sh <DESTDIR>
pour une installation de Camap dans DESTDIR
Renseigner le DNS ou votre fichier hosts avec les valeurs correspondante à la configuration. Pour une installation en local:
127.0.0.1 camap.localdomain api.camap.localdomain
Modifier les lignes 3 à 7 de camap-ts.Dockerfile dans $DESTDIR avec les valeurs indiquées dans camap-ts/.env
Installer docker desktop
Créer un répertoire Camap
Dans ce répertoire:
-
git clone https://github.com/CAMAP-APP/camap-hx.git -
git clone https://github.com/CAMAP-APP/camap-ts.git -
git clone https://github.com/CAMAP-APP/camap-docker.git
Copier ensuite depuis camap/camap-docker/:
-
traefik.ymldanscamap -
*.Dockerfiledanscamap -
docker-compose.ymldanscamap -
.envdanscamap/camap-ts -
config.xmldanscamap/camap-hx -
le répertoire
traefiket son contenu danscamap -
le répertoire
sslet son contenu danscamap
Modifier les lignes 3 à 7 de camap-ts.Dockerfile dans Camap avec les valeurs indiquées dans camap-ts/.env
Renseigner le DNS ou votre fichier hosts (c:\windows\system32\drivers\etc) avec les valeurs correspondante à la configuration. Pour une installation en local:
127.0.0.1 camap.localdomain api.camap.localdomain
-
keydoit avoir la même valeur queCAMAP_KEYdans camap-ts/.env Cette clef est utilisée pour vérifier le hash des mots de passe des comptes Camap -
hostnom d'hote sur serveur camap (1er terme decamap_api) -
camap_apicontient l'url du frontal Camap -
mapbox_server_tokencontient la clef pour les fonctions de géolocalisation, à créer sur mapbox.com (gratuit jusqu'à 100.000 requetes par mois)
-
CAMAP_KEYdoit avoir la même valeur quekeydans camap-hx/config.xml Cette clef est utilisée pour vérifier le hash des mots de passe des comptes Camap -
FRONT_URLcontient l'url du serveur nest (camap-ts) -
FRONT_GRAPHQL_URLcontient l'url de graphql (FRONT_URL/graphql) -
MAPBOX_KEYcontient la clef pour les fonctions de géolocalisation, à créer sur mapbox.com (gratuit jusqu'à 100.000 requetes par mois)
La rubrique MAIL doit être renseignée avec les informations de votre serveur SMTP
A VALIDER
L'installation par défaut utilise un certificat autosigné généré avec openssl
Pour automatiser la fourniture d'un certificat letsencrypt personnalisé:
- éditer traefik.yml et décommenter la rubrique suivante (en enlevant le caractètre #), et modifier l'email:
#certificatesResolvers:
# le:
# acme:
# email: admin@camap.tld
# storage: /etc/traefik/ssl/acme.json
# httpChallenge:
# # used during the challenge
# entryPoint: web
- décommenter les lignes
traefik.http.routers.nest-loc-camap.tlsde docker-compose.yml
exécuter docker compose up -d --build
Le dashboard Traefik est accessible via http://127.0.0.1:8080/dashboard/
Après l'installation avec les certificats autosignés, un accès via le navigateur à https://api.camap.localdomain est nécessaire pour passer outre l'avertissement de sécurité, sinon les menus gérés par api.camap ne fonctionneront pas.
Ensuite un premier appel à https://camap.localdomain/install est nécessaire pour initialiser la bdd.