You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
467 lines
16 KiB
467 lines
16 KiB
|
|
# |
|
# This is for building a local OpenEMR development and testing environment. |
|
# (Recommend not running it from your git repo and instead mirroring your |
|
# git repo to a testing directory (such as your web directory).) |
|
# |
|
# Brief instructions on how to use (for fuller instructions and examples, |
|
# see the document at contrib/util/docker/README.md): |
|
# 1. go to contrib/util/docker directory |
|
# 2. docker-compose up -d |
|
# 3. Choose one of any of the following links: |
|
# http://localhost:8080 (with Alpine 3.12 (Apache and PHP 7.3)) |
|
# http://localhost:8081 (with Alpine 3.15 (Apache and PHP 7.4)) |
|
# http://localhost:8082 (with Alpine 3.15 (Apache and PHP 8.0)) |
|
# http://localhost:8083 (with Alpine 3.16 (Apache and PHP 8.1)) |
|
# http://localhost:8084 (with Alpine Edge (Apache and now PHP 8.1)) |
|
# http://localhost:8090 (with Alpine 3.12 (Apache and PHP 7.3) with redis) |
|
# http://localhost:8091 (with Alpine 3.15 (Apache and PHP 7.4) with redis) |
|
# http://localhost:8092 (with Alpine 3.15 (Apache and PHP 8.0) with redis) |
|
# http://localhost:8093 (with Alpine 3.16 (Apache and PHP 8.1) with redis) |
|
# http://localhost:8094 (with Alpine Edge (Apache and now PHP 8.1) with redis) |
|
# http://localhost:8100 (with Nginx and PHP-FPM 7.3) |
|
# http://localhost:8101 (with Nginx and PHP-FPM 7.4) |
|
# http://localhost:8102 (with Nginx and PHP-FPM 8.0) |
|
# http://localhost:8103 (with Nginx and PHP-FPM 8.1) |
|
# http://localhost:8104 (with Nginx and PHP-FPM 8.2) |
|
# http://localhost:8150 (with Nginx and PHP-FPM 7.3 with redis) |
|
# http://localhost:8151 (with Nginx and PHP-FPM 7.4 with redis) |
|
# http://localhost:8152 (with Nginx and PHP-FPM 8.0 with redis) |
|
# http://localhost:8153 (with Nginx and PHP-FPM 8.1 with redis) |
|
# http://localhost:8154 (with Nginx and PHP-FPM 8.2 with redis) |
|
# https://localhost:9080 with SSL and Alpine 3.12 (with Apache and PHP 7.3) |
|
# https://localhost:9081 with SSL and Alpine 3.15 (with Apache and PHP 7.4) |
|
# https://localhost:9082 with SSL and Alpine 3.15 (with Apache and PHP 8.0) |
|
# https://localhost:9083 with SSL and Alpine 3.16 (with Apache and PHP 8.1) |
|
# https://localhost:9084 with SSL and Alpine Edge (with Apache and now PHP 8.1) |
|
# https://localhost:9090 with SSL and Alpine 3.12 (with Apache and PHP 7.3 with redis) |
|
# https://localhost:9091 with SSL and Alpine 3.15 (with Apache and PHP 7.4 with redis) |
|
# https://localhost:9092 with SSL and Alpine 3.15 (with Apache and PHP 8.0 with redis) |
|
# https://localhost:9093 with SSL and Alpine 3.16 (with Apache and PHP 8.1 with redis) |
|
# https://localhost:9094 with SSL and Alpine Edge (with Apache and now PHP 8.1 with redis) |
|
# https://localhost:9100 with SSL (with Nginx and PHP-FPM 7.3) |
|
# https://localhost:9101 with SSL (with Nginx and PHP-FPM 7.4) |
|
# https://localhost:9102 with SSL (with Nginx and PHP-FPM 8.0) |
|
# https://localhost:9103 with SSL (with Nginx and PHP-FPM 8.1) |
|
# https://localhost:9104 with SSL (with Nginx and PHP-FPM 8.2) |
|
# https://localhost:9150 with SSL (with Nginx and PHP-FPM 7.3 with redis) |
|
# https://localhost:9151 with SSL (with Nginx and PHP-FPM 7.4 with redis) |
|
# https://localhost:9152 with SSL (with Nginx and PHP-FPM 8.0 with redis) |
|
# https://localhost:9153 with SSL (with Nginx and PHP-FPM 8.1 with redis) |
|
# https://localhost:9154 with SSL (with Nginx and PHP-FPM 8.2 with redis) |
|
|
|
# |
|
# On the main setup input screen: |
|
# 1. for Server Host, use either 'mariadb' or `mariadb-ssl` or 'mysql' or 'mysql-old' or 'mariadb-old' or 'mariadb-very-old' or 'mariadb-very-very-old' or `mariadb-very-very-very-old` (have both mariadb/mysql/mariadb-dev/mysql dockers ready to go make testing either one easy; mysql is version 8.0; mysql-old is version 5.7; mariadb is version 10.6; mariadb-ssl is version 10.6 with support for ssl; mariadb-old is version 10.5; mariadb-very-old is version 10.4; mariadb-very-very-old is version 10.3; mariadb-very-very-very-old is version 10.2) |
|
# 2. for Root Pass, use 'root' |
|
# 3. for User Hostname, use '%' |
|
# And when need to tear it down and restart it |
|
# 1. docker-compose down -v |
|
# 2. docker-compose up -d |
|
# Can see databases via http://localhost:8200 |
|
# |
|
version: '3.1' |
|
services: |
|
openemr-7-3-312: |
|
restart: always |
|
image: openemr/openemr:flex-3.12 |
|
ports: |
|
- 8080:80 |
|
- 9080:443 |
|
volumes: |
|
- ../..:/var/www/localhost/htdocs/openemr |
|
environment: |
|
DEBUG_COLORS: "true" |
|
TERM: xterm-256color |
|
COLORTERM: truecolor |
|
OPENEMR_DOCKER_ENV_TAG: insane-dev-docker |
|
FORCE_NO_BUILD_MODE: "yes" |
|
EMPTY: "yes" |
|
openemr-7-4: |
|
restart: always |
|
image: openemr/openemr:flex-3.15 |
|
ports: |
|
- 8081:80 |
|
- 9081:443 |
|
volumes: |
|
- ../..:/var/www/localhost/htdocs/openemr |
|
environment: |
|
DEBUG_COLORS: "true" |
|
TERM: xterm-256color |
|
COLORTERM: truecolor |
|
OPENEMR_DOCKER_ENV_TAG: insane-dev-docker |
|
FORCE_NO_BUILD_MODE: "yes" |
|
EMPTY: "yes" |
|
openemr-8-0: |
|
restart: always |
|
image: openemr/openemr:flex-3.15-8 |
|
ports: |
|
- 8082:80 |
|
- 9082:443 |
|
volumes: |
|
- ../..:/var/www/localhost/htdocs/openemr |
|
- couchdbvolume:/couchdb/data |
|
environment: |
|
DEBUG_COLORS: "true" |
|
TERM: xterm-256color |
|
COLORTERM: truecolor |
|
OPENEMR_DOCKER_ENV_TAG: insane-dev-docker |
|
EMPTY: "yes" |
|
MYSQL_HOST: mariadb |
|
MYSQL_ROOT_PASS: root |
|
DEVELOPER_TOOLS: "yes" |
|
INSANE_DEV_MODE: "yes" |
|
XDEBUG_ON: 1 |
|
XDEBUG_PROFILER_ON: 1 |
|
# setting xdebug client host for cases where xdebug.discover_client_host fails |
|
XDEBUG_CLIENT_HOST: host.docker.internal |
|
GITHUB_COMPOSER_TOKEN: c313de1ed5a00eb6ff9309559ec9ad01fcc553f0 |
|
GITHUB_COMPOSER_TOKEN_ENCODED: ZWU5YWIwZWNiM2ZlN2I4YThlNGQ0ZWZiNjMyNDQ5MjFkZTJhMTY2OQo= |
|
OPENEMR_SETTING_site_addr_oath: 'https://localhost:9085' |
|
OPENEMR_SETTING_oauth_password_grant: 3 |
|
OPENEMR_SETTING_rest_system_scopes_api: 1 |
|
OPENEMR_SETTING_rest_api: 1 |
|
OPENEMR_SETTING_rest_fhir_api: 1 |
|
OPENEMR_SETTING_rest_portal_api: 1 |
|
OPENEMR_SETTING_portal_onsite_two_enable: 1 |
|
OPENEMR_SETTING_ccda_alt_service_enable: 3 |
|
OPENEMR_SETTING_couchdb_host: couchdb |
|
OPENEMR_SETTING_couchdb_port: 6984 |
|
OPENEMR_SETTING_couchdb_user: admin |
|
OPENEMR_SETTING_couchdb_pass: password |
|
OPENEMR_SETTING_couchdb_dbase: example |
|
OPENEMR_SETTING_couchdb_ssl_allow_selfsigned: 1 |
|
OPENEMR_SETTING_gbl_ldap_host: 'ldap://openldap:389' |
|
OPENEMR_SETTING_gbl_ldap_dn: 'cn={login},dc=example,dc=org' |
|
openemr-8-1: |
|
restart: always |
|
image: openemr/openemr:flex-3.16 |
|
ports: |
|
- 8083:80 |
|
- 9083:443 |
|
volumes: |
|
- ../..:/var/www/localhost/htdocs/openemr |
|
environment: |
|
DEBUG_COLORS: "true" |
|
TERM: xterm-256color |
|
COLORTERM: truecolor |
|
OPENEMR_DOCKER_ENV_TAG: insane-dev-docker |
|
FORCE_NO_BUILD_MODE: "yes" |
|
EMPTY: "yes" |
|
openemr-edge: |
|
restart: always |
|
image: openemr/openemr:flex-edge |
|
ports: |
|
- 8084:80 |
|
- 9084:443 |
|
volumes: |
|
- ../..:/var/www/localhost/htdocs/openemr |
|
environment: |
|
DEBUG_COLORS: "true" |
|
TERM: xterm-256color |
|
COLORTERM: truecolor |
|
OPENEMR_DOCKER_ENV_TAG: insane-dev-docker |
|
FORCE_NO_BUILD_MODE: "yes" |
|
EMPTY: "yes" |
|
openemr-7-3-redis-312: |
|
restart: always |
|
image: openemr/openemr:flex-3.12 |
|
ports: |
|
- 8090:80 |
|
- 9090:443 |
|
volumes: |
|
- ../..:/var/www/localhost/htdocs/openemr |
|
environment: |
|
DEBUG_COLORS: "true" |
|
TERM: xterm-256color |
|
COLORTERM: truecolor |
|
OPENEMR_DOCKER_ENV_TAG: insane-dev-docker |
|
FORCE_NO_BUILD_MODE: "yes" |
|
REDIS_SERVER: "redis" |
|
EMPTY: "yes" |
|
openemr-7-4-redis: |
|
restart: always |
|
image: openemr/openemr:flex-3.15 |
|
ports: |
|
- 8091:80 |
|
- 9091:443 |
|
volumes: |
|
- ../..:/var/www/localhost/htdocs/openemr |
|
environment: |
|
DEBUG_COLORS: "true" |
|
TERM: xterm-256color |
|
COLORTERM: truecolor |
|
OPENEMR_DOCKER_ENV_TAG: insane-dev-docker |
|
FORCE_NO_BUILD_MODE: "yes" |
|
REDIS_SERVER: "redis" |
|
EMPTY: "yes" |
|
openemr-8-0-redis: |
|
restart: always |
|
image: openemr/openemr:flex-3.15-8 |
|
ports: |
|
- 8092:80 |
|
- 9092:443 |
|
volumes: |
|
- ../..:/var/www/localhost/htdocs/openemr |
|
environment: |
|
DEBUG_COLORS: "true" |
|
TERM: xterm-256color |
|
COLORTERM: truecolor |
|
OPENEMR_DOCKER_ENV_TAG: insane-dev-docker |
|
FORCE_NO_BUILD_MODE: "yes" |
|
REDIS_SERVER: "redis" |
|
EMPTY: "yes" |
|
openemr-8-1-redis: |
|
restart: always |
|
image: openemr/openemr:flex-3.16 |
|
ports: |
|
- 8093:80 |
|
- 9093:443 |
|
volumes: |
|
- ../..:/var/www/localhost/htdocs/openemr |
|
environment: |
|
DEBUG_COLORS: "true" |
|
TERM: xterm-256color |
|
COLORTERM: truecolor |
|
OPENEMR_DOCKER_ENV_TAG: insane-dev-docker |
|
FORCE_NO_BUILD_MODE: "yes" |
|
REDIS_SERVER: "redis" |
|
EMPTY: "yes" |
|
openemr-edge-redis: |
|
restart: always |
|
image: openemr/openemr:flex-edge |
|
ports: |
|
- 8094:80 |
|
- 9094:443 |
|
volumes: |
|
- ../..:/var/www/localhost/htdocs/openemr |
|
environment: |
|
DEBUG_COLORS: "true" |
|
TERM: xterm-256color |
|
COLORTERM: truecolor |
|
OPENEMR_DOCKER_ENV_TAG: insane-dev-docker |
|
FORCE_NO_BUILD_MODE: "yes" |
|
REDIS_SERVER: "redis" |
|
EMPTY: "yes" |
|
mariadb: |
|
restart: always |
|
image: mariadb:10.6 |
|
command: ['mysqld','--character-set-server=utf8mb4'] |
|
environment: |
|
MYSQL_ROOT_PASSWORD: root |
|
mariadb-ssl: |
|
restart: always |
|
image: mariadb:10.6 |
|
command: ['mysqld','--character-set-server=utf8mb4','--ssl-ca=/etc/ssl/ca.pem','--ssl_cert=/etc/ssl/server-cert.pem','--ssl_key=/etc/ssl/server-key.pem'] |
|
volumes: |
|
- ../library/sql-ssl-certs-keys/insane/ca.pem:/etc/ssl/ca.pem:ro |
|
- ../library/sql-ssl-certs-keys/insane/server-cert.pem:/etc/ssl/server-cert.pem:ro |
|
- ../library/sql-ssl-certs-keys/insane/server-key.pem:/etc/ssl/server-key.pem:ro |
|
environment: |
|
MYSQL_ROOT_PASSWORD: root |
|
mariadb-old: |
|
restart: always |
|
image: mariadb:10.5 |
|
command: ['mysqld','--character-set-server=utf8mb4'] |
|
ports: |
|
- 8210:3306 |
|
environment: |
|
MYSQL_ROOT_PASSWORD: root |
|
mariadb-very-old: |
|
restart: always |
|
image: mariadb:10.4 |
|
command: ['mysqld','--character-set-server=utf8mb4'] |
|
environment: |
|
MYSQL_ROOT_PASSWORD: root |
|
mariadb--very-very-old: |
|
restart: always |
|
image: mariadb:10.3 |
|
command: ['mysqld','--character-set-server=utf8mb4'] |
|
environment: |
|
MYSQL_ROOT_PASSWORD: root |
|
mariadb-very-very-very-old: |
|
restart: always |
|
image: mariadb:10.2 |
|
command: ['mysqld','--character-set-server=utf8mb4'] |
|
environment: |
|
MYSQL_ROOT_PASSWORD: root |
|
mysql: |
|
restart: always |
|
image: mysql:8 |
|
command: ['mysqld','--character-set-server=utf8mb4','--default-authentication-plugin=mysql_native_password'] |
|
ports: |
|
- 8220:3306 |
|
environment: |
|
MYSQL_ROOT_PASSWORD: root |
|
mysql-old: |
|
restart: always |
|
image: mysql:5.7 |
|
command: ['mysqld','--character-set-server=utf8mb4'] |
|
environment: |
|
MYSQL_ROOT_PASSWORD: root |
|
phpmyadmin: |
|
restart: always |
|
image: phpmyadmin |
|
ports: |
|
- 8200:80 |
|
environment: |
|
PMA_HOSTS: mariadb,mariadb-old,mariadb-very-old,mariadb-very-very-old,mariadb-very-very-very-old,mysql,mysql-old,mariadb-ssl |
|
couchdb: |
|
restart: always |
|
image: couchdb |
|
ports: |
|
- 5984:5984 |
|
- 6984:6984 |
|
volumes: |
|
- ../library/couchdb-config-ssl-cert-keys/local.ini:/opt/couchdb/etc/local.ini:rw |
|
- ../library/couchdb-config-ssl-cert-keys/insane/ca.pem:/etc/ssl/ca.pem:ro |
|
- ../library/couchdb-config-ssl-cert-keys/insane/server-cert.pem:/etc/ssl/server-cert.pem:ro |
|
- ../library/couchdb-config-ssl-cert-keys/insane/server-key.pem:/etc/ssl/server-key.pem:ro |
|
- couchdbvolume:/opt/couchdb/data |
|
environment: |
|
COUCHDB_USER: admin |
|
COUCHDB_PASSWORD: password |
|
orthanc: |
|
restart: always |
|
image: jodogne/orthanc-plugins |
|
ports: |
|
- 4242:4242 |
|
- 8042:8042 |
|
nginx: |
|
restart: always |
|
image: openemr/dev-nginx |
|
ports: |
|
- 8100:80 |
|
- 9100:440 |
|
- 8101:81 |
|
- 9101:441 |
|
- 8102:82 |
|
- 9102:442 |
|
- 8103:83 |
|
- 9103:443 |
|
- 8104:84 |
|
- 9104:444 |
|
- 8150:90 |
|
- 9150:450 |
|
- 8151:91 |
|
- 9151:451 |
|
- 8152:92 |
|
- 9152:452 |
|
- 8153:93 |
|
- 9153:453 |
|
- 8154:94 |
|
- 9154:454 |
|
volumes: |
|
- ../..:/usr/share/nginx/html/openemr |
|
- ../library/dockers/dev-nginx/nginx.conf:/etc/nginx/nginx.conf:ro |
|
- ../library/dockers/dev-nginx/dummy-cert:/etc/nginx/dummy-cert:ro |
|
- ../library/dockers/dev-nginx/dummy-key:/etc/nginx/dummy-key:ro |
|
depends_on: |
|
- dev-php-fpm-7-3 |
|
- dev-php-fpm-7-4 |
|
- dev-php-fpm-8-0 |
|
- dev-php-fpm-8-1 |
|
- dev-php-fpm-8-2 |
|
- dev-php-fpm-7-3-redis |
|
- dev-php-fpm-7-4-redis |
|
- dev-php-fpm-8-0-redis |
|
- dev-php-fpm-8-1-redis |
|
- dev-php-fpm-8-2-redis |
|
dev-php-fpm-7-3: |
|
restart: always |
|
image: openemr/dev-php-fpm:7.3 |
|
volumes: |
|
- ../..:/usr/share/nginx/html/openemr |
|
- ../library/dockers/dev-php-fpm-7-3/php.ini:/usr/local/etc/php/php.ini:ro |
|
environment: |
|
OPENEMR_DOCKER_ENV_TAG: insane-dev-docker |
|
dev-php-fpm-7-4: |
|
restart: always |
|
image: openemr/dev-php-fpm:7.4 |
|
volumes: |
|
- ../..:/usr/share/nginx/html/openemr |
|
- ../library/dockers/dev-php-fpm-7-4/php.ini:/usr/local/etc/php/php.ini:ro |
|
environment: |
|
OPENEMR_DOCKER_ENV_TAG: insane-dev-docker |
|
dev-php-fpm-8-0: |
|
restart: always |
|
image: openemr/dev-php-fpm:8.0 |
|
volumes: |
|
- ../..:/usr/share/nginx/html/openemr |
|
- ../library/dockers/dev-php-fpm-8-0/php.ini:/usr/local/etc/php/php.ini:ro |
|
environment: |
|
OPENEMR_DOCKER_ENV_TAG: insane-dev-docker |
|
dev-php-fpm-8-1: |
|
restart: always |
|
image: openemr/dev-php-fpm:8.1 |
|
volumes: |
|
- ../..:/usr/share/nginx/html/openemr |
|
- ../library/dockers/dev-php-fpm-8-1/php.ini:/usr/local/etc/php/php.ini:ro |
|
environment: |
|
OPENEMR_DOCKER_ENV_TAG: insane-dev-docker |
|
dev-php-fpm-8-2: |
|
restart: always |
|
image: openemr/dev-php-fpm:8.2 |
|
volumes: |
|
- ../..:/usr/share/nginx/html/openemr |
|
- ../library/dockers/dev-php-fpm-8-2/php.ini:/usr/local/etc/php/php.ini:ro |
|
environment: |
|
OPENEMR_DOCKER_ENV_TAG: insane-dev-docker |
|
dev-php-fpm-7-3-redis: |
|
restart: always |
|
image: openemr/dev-php-fpm:7.3-redis |
|
volumes: |
|
- ../..:/usr/share/nginx/html/openemr |
|
- ../library/dockers/dev-php-fpm-7-3-redis/php.ini:/usr/local/etc/php/php.ini:ro |
|
environment: |
|
OPENEMR_DOCKER_ENV_TAG: insane-dev-docker |
|
dev-php-fpm-7-4-redis: |
|
restart: always |
|
image: openemr/dev-php-fpm:7.4-redis |
|
volumes: |
|
- ../..:/usr/share/nginx/html/openemr |
|
- ../library/dockers/dev-php-fpm-7-4-redis/php.ini:/usr/local/etc/php/php.ini:ro |
|
environment: |
|
OPENEMR_DOCKER_ENV_TAG: insane-dev-docker |
|
dev-php-fpm-8-0-redis: |
|
restart: always |
|
image: openemr/dev-php-fpm:8.0-redis |
|
volumes: |
|
- ../..:/usr/share/nginx/html/openemr |
|
- ../library/dockers/dev-php-fpm-8-0-redis/php.ini:/usr/local/etc/php/php.ini:ro |
|
environment: |
|
OPENEMR_DOCKER_ENV_TAG: insane-dev-docker |
|
dev-php-fpm-8-1-redis: |
|
restart: always |
|
image: openemr/dev-php-fpm:8.1-redis |
|
volumes: |
|
- ../..:/usr/share/nginx/html/openemr |
|
- ../library/dockers/dev-php-fpm-8-1-redis/php.ini:/usr/local/etc/php/php.ini:ro |
|
environment: |
|
OPENEMR_DOCKER_ENV_TAG: insane-dev-docker |
|
dev-php-fpm-8-2-redis: |
|
restart: always |
|
image: openemr/dev-php-fpm:8.2-redis |
|
volumes: |
|
- ../..:/usr/share/nginx/html/openemr |
|
- ../library/dockers/dev-php-fpm-8-2-redis/php.ini:/usr/local/etc/php/php.ini:ro |
|
environment: |
|
OPENEMR_DOCKER_ENV_TAG: insane-dev-docker |
|
redis: |
|
restart: always |
|
image: redis |
|
openldap: |
|
restart: always |
|
image: openemr/dev-ldap:insane |
|
environment: |
|
LDAP_TLS_VERIFY_CLIENT: try |
|
LDAP_TLS_CA_CRT_FILENAME: ca.pem |
|
LDAP_TLS_CRT_FILENAME: server-cert.pem |
|
LDAP_TLS_KEY_FILENAME: server-key.pem |
|
fhir: |
|
restart: always |
|
image: ibmcom/ibm-fhir-server |
|
ports: |
|
- 9443:9443 |
|
volumes: |
|
couchdbvolume: {}
|
|
|