Aller au contenu

Paramètres du fichier docker-compose

Par défaut les volumes sont gérés par docker. Vous pouvez commenter ces lignes et décommenter les lignes qui proposent une gestion directe. Exemple :

/var/www/html
# if you use bind volume with arbitrary user create first the folder with the good permissions
- ./:/var/www/html

Les lignes suivantes vous permettent de personnaliser les paramètres de PHP et Mariadb

Fenêtre de terminal
...
# # for custom php.ini
# - ./config/30-custom-php.ini:/usr/local/etc/php/30-custom-php.ini:ro
...
# # for custom mariadb conf file
# - ./config/custom-mariadb.cnf:/etc/mysql/conf.d/custom-mariadb.cnf:ro
...

Le fichier compose.yml dispose de plusieurs profils :

  • debug : lance phpmyadmin pour explorer la base de données
  • dicom : lance Orthanc qui permet d’interface par exemple un échographe au logiciel
  • vpn : lance Wireguard, un VPN pour rendre le logiciel accessible en dehors du réseau local de façon sécurisée.

Vous pouvez lancer un profil de la façon suivante : docker compose --profile debug up -d et pour deux profils : docker compose --profile debug vpn up -d

Si vous utilisez déjà MedShakeEHR, vous pouvez importer votre base de données en décommentant la ligne :

/docker-entrypoint-initdb.d
# If you would import old database

Si vous utilisez docker en mode rootless, vous pouvez modifier ces lignes

Fenêtre de terminal
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
# - /run/user/1000/docker.sock:/var/run/docker.sock:ro

Vous pouvez empêcher l’accès aux machines du réseau local en modifiant ainsi le docker-compose :

nginx-proxy:
...
ports:
- "127.0.0.1:80:80"
- "127.0.0.1:443:443"
...

Si vos ports 80 et 443 sont déjà pris, vous pouvez configurer le proxy inverse sur d’autres ports :

nginx-proxy:
...
environment:
...
HTTP_PORT: 8080
HTTPS_PORT: 4433
ports:
- "8080:8080"
- "4433:4433"
...

puis dans les variables d’environnements :

Fenêtre de terminal
VIRTUAL_HOST=msehr.localhost
MSEHR_HOST=msehr.localhost:4433
PROTO=https
PORT=4433

Si votre config.yml est déjà configuré, modifiez le avec les bonnes valeurs :

protocol: https://
host: msehr.localhost:4433
port: 4433
...
cookieDomain: msehr.localhost
...

Si vous configurez MedShakeEHR sur un serveur, changez le virtualhost par un nom de domaine adapté à votre box (en France généralement .home ou .local). Ex : monmsehr.home

Modifiez ensuite votre fichier host de votre client en associant l’IP et le nom de domaine que vous avez choisis :

Fenêtre de terminal
192.168.1.4 monmsehr.home

Sur Linux et macOS, il est habituellement situé dans /etc/hosts, pour Windows dans C:\Windows\System32\drivers\etc\hosts.