update the mariadb/mysql dockers in insane development docker environment (#2009)
[openemr.git] / contrib / util / docker / docker-compose.yml
blobddcc4c831a2411190f5a52708840f6904c7bd90d
3 # This is for building a local OpenEMR development and testing environment.
4 # (Recommend not running it from your git repo and instead mirroring your
5 #  git repo to a testing directory (such as your web directory).)
7 # Brief instructions on how to use (for fuller instructions and examples,
8 #  see the document at contrib/util/docker/README.md):
9 #   1. go to contrib/util/docker directory
10 #   2. docker-compose up -d
11 #   3. Choose one of any of the following links:
12 #        http://localhost:8080 (with Apache and PHP 7.1)
13 #        http://localhost:8081 (with Apache and PHP 7.2)
14 #        http://localhost:8082 (with Apache and PHP 7.1 with redis)
15 #        http://localhost:8083 (with Apache and PHP 7.2 with redis)
16 #        http://localhost:8090 (with Nginx and PHP-FPM 5.6)
17 #        http://localhost:8091 (with Nginx and PHP-FPM 7.0)
18 #        http://localhost:8092 (with Nginx and PHP-FPM 7.1)
19 #        http://localhost:8093 (with Nginx and PHP-FPM 7.2)
20 #        http://localhost:8094 (with Nginx and PHP-FPM 7.3)
21 #        http://localhost:8095 (with Nginx and PHP-FPM 5.6 with redis)
22 #        http://localhost:8096 (with Nginx and PHP-FPM 7.0 with redis)
23 #        http://localhost:8097 (with Nginx and PHP-FPM 7.1 with redis)
24 #        http://localhost:8098 (with Nginx and PHP-FPM 7.2 with redis)
25 #        http://localhost:8099 (with Nginx and PHP-FPM 7.3 with redis)
26 #        https://localhost:9080 with SSL (with Apache and PHP 7.1)
27 #        https://localhost:9081 with SSL (with Apache and PHP 7.2)
28 #        https://localhost:9082 with SSL (with Apache and PHP 7.1 with redis)
29 #        https://localhost:9083 with SSL (with Apache and PHP 7.2 with redis)
30 #        https://localhost:9090 with SSL (with Nginx and PHP-FPM 5.6)
31 #        https://localhost:9091 with SSL (with Nginx and PHP-FPM 7.0)
32 #        https://localhost:9092 with SSL (with Nginx and PHP-FPM 7.1)
33 #        https://localhost:9093 with SSL (with Nginx and PHP-FPM 7.2)
34 #        https://localhost:9094 with SSL (with Nginx and PHP-FPM 7.3)
35 #        https://localhost:9095 with SSL (with Nginx and PHP-FPM 5.6 with redis)
36 #        https://localhost:9096 with SSL (with Nginx and PHP-FPM 7.0 with redis)
37 #        https://localhost:9097 with SSL (with Nginx and PHP-FPM 7.1 with redis)
38 #        https://localhost:9098 with SSL (with Nginx and PHP-FPM 7.2 with redis)
39 #        https://localhost:9099 with SSL (with Nginx and PHP-FPM 7.3 with redis)
41 #    On the main setup input screen:
42 #     1. for Server Host, use either 'mariadb' or 'mysql' or `mariadb-dev` or 'mysql-old' or 'mysql-very-old' or 'mysql-very-very-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; mysql-old-old is version 5.6; mysql-very-very-old is version 5.5; mariadb is version 10.3 and mariadb-dev is version 10.4; mariadb-old is version 10.2; mariadb-very-old is version 10.1; mariadb-very-very-old is version 10.0; mariadb-very-very-very-old is version 5.5)
43 #     2. for Root Pass, use 'root'
44 #     3. for User Hostname, use '%'
45 #    And when need to tear it down and restart it
46 #     1. docker-compose down -v
47 #     2. docker-compose up -d
48 #    Can see databases via http://localhost:8200
50 version: '3.1'
51 services:
52   openemr-7-1:
53     restart: always
54     image: openemr/openemr:flex-3.7
55     ports:
56     - 8080:80
57     - 9080:443
58     volumes:
59     - ../../..:/var/www/localhost/htdocs/openemr
60     environment:
61       EMPTY: "yes"
62   openemr-7-2:
63     restart: always
64     image: openemr/openemr:flex-3.8
65     ports:
66     - 8081:80
67     - 9081:443
68     volumes:
69     - ../../..:/var/www/localhost/htdocs/openemr
70     environment:
71       FORCE_NO_BUILD_MODE: "yes"
72       EMPTY: "yes"
73   openemr-7-1-redis:
74     restart: always
75     image: openemr/openemr:flex-3.7
76     ports:
77     - 8082:80
78     - 9082:443
79     volumes:
80     - ../../..:/var/www/localhost/htdocs/openemr
81     environment:
82       FORCE_NO_BUILD_MODE: "yes"
83       REDIS_SERVER: "redis"
84       EMPTY: "yes"
85   openemr-7-2-redis:
86     restart: always
87     image: openemr/openemr:flex-3.8
88     ports:
89     - 8083:80
90     - 9083:443
91     volumes:
92     - ../../..:/var/www/localhost/htdocs/openemr
93     environment:
94       FORCE_NO_BUILD_MODE: "yes"
95       REDIS_SERVER: "redis"
96       EMPTY: "yes"
97   mariadb-dev:
98     restart: always
99     image: mariadb:10.4
100     command: ['mysqld','--character-set-server=utf8']
101     environment:
102       MYSQL_ROOT_PASSWORD: root
103   mariadb:
104     restart: always
105     image: mariadb:10.3
106     command: ['mysqld','--character-set-server=utf8']
107     ports:
108     - 8210:3306
109     environment:
110       MYSQL_ROOT_PASSWORD: root
111   mariadb-old:
112     restart: always
113     image: mariadb:10.2
114     command: ['mysqld','--character-set-server=utf8']
115     environment:
116       MYSQL_ROOT_PASSWORD: root
117   mariadb-very-old:
118     restart: always
119     image: mariadb:10.1
120     command: ['mysqld','--character-set-server=utf8']
121     environment:
122       MYSQL_ROOT_PASSWORD: root
123   mariadb-very-very-old:
124     restart: always
125     image: mariadb:10.0
126     command: ['mysqld','--character-set-server=utf8']
127     environment:
128       MYSQL_ROOT_PASSWORD: root
129   mariadb-very-very-very-old:
130     restart: always
131     image: mariadb:5.5
132     command: ['mysqld','--character-set-server=utf8']
133     environment:
134       MYSQL_ROOT_PASSWORD: root
135   mysql:
136     restart: always
137     image: mysql:8
138     command: ['mysqld','--character-set-server=utf8','--default-authentication-plugin=mysql_native_password']
139     ports:
140     - 8220:3306
141     environment:
142       MYSQL_ROOT_PASSWORD: root
143   mysql-old:
144     restart: always
145     image: mysql:5.7
146     command: ['mysqld','--character-set-server=utf8']
147     environment:
148       MYSQL_ROOT_PASSWORD: root
149   mysql-very-old:
150     restart: always
151     image: mysql:5.6
152     command: ['mysqld','--character-set-server=utf8']
153     environment:
154       MYSQL_ROOT_PASSWORD: root
155   mysql-very-very-old:
156     restart: always
157     image: mysql:5.5
158     command: ['mysqld','--character-set-server=utf8']
159     environment:
160       MYSQL_ROOT_PASSWORD: root
161   phpmyadmin:
162     restart: always
163     image: phpmyadmin/phpmyadmin
164     ports:
165     - 8200:80
166     environment:
167       PMA_HOSTS: mariadb-dev,mariadb,mariadb-old,mariadb-very-old,mariadb-very-very-old,mariadb-very-very-very-old,mysql,mysql-old,mysql-very-old,mysql-very-very-old
168   couchdb:
169     restart: always
170     image: couchdb
171     ports:
172     - 5984:5984
173     - 6984:6984
174     environment:
175       COUCHDB_USER: admin
176       COUCHDB_PASSWORD: password
177   orthanc:
178     restart: always
179     image: jodogne/orthanc-plugins
180     ports:
181     - 4242:4242
182     - 8042:8042
183   nginx:
184     restart: always
185     image: openemr/dev-nginx
186     ports:
187     - 8090:80
188     - 9090:443
189     - 8091:81
190     - 9091:444
191     - 8092:82
192     - 9092:445
193     - 8093:83
194     - 9093:446
195     - 8094:84
196     - 9094:447
197     - 8095:85
198     - 9095:448
199     - 8096:86
200     - 9096:449
201     - 8097:87
202     - 9097:450
203     - 8098:88
204     - 9098:451
205     - 8099:89
206     - 9099:452
207     volumes:
208     - ../../..:/usr/share/nginx/html/openemr
209     - ./dockers/dev-nginx/nginx.conf:/etc/nginx/nginx.conf:ro
210     - ./dockers/dev-nginx/dummy-cert:/etc/nginx/dummy-cert:ro
211     - ./dockers/dev-nginx/dummy-key:/etc/nginx/dummy-key:ro
212     depends_on:
213     - dev-php-fpm-5-6
214     - dev-php-fpm-7-0
215     - dev-php-fpm-7-1
216     - dev-php-fpm-7-2
217     - dev-php-fpm-7-3
218     - dev-php-fpm-5-6-redis
219     - dev-php-fpm-7-0-redis
220     - dev-php-fpm-7-1-redis
221     - dev-php-fpm-7-2-redis
222     - dev-php-fpm-7-3-redis
223   dev-php-fpm-5-6:
224     restart: always
225     image: openemr/dev-php-fpm:5.6
226     volumes:
227     - ../../..:/usr/share/nginx/html/openemr
228     - ./dockers/dev-php-fpm-5-6/php.ini:/usr/local/etc/php/php.ini:ro
229   dev-php-fpm-7-0:
230     restart: always
231     image: openemr/dev-php-fpm:7.0
232     volumes:
233     - ../../..:/usr/share/nginx/html/openemr
234     - ./dockers/dev-php-fpm-7-0/php.ini:/usr/local/etc/php/php.ini:ro
235   dev-php-fpm-7-1:
236     restart: always
237     image: openemr/dev-php-fpm:7.1
238     volumes:
239     - ../../..:/usr/share/nginx/html/openemr
240     - ./dockers/dev-php-fpm-7-1/php.ini:/usr/local/etc/php/php.ini:ro
241   dev-php-fpm-7-2:
242     restart: always
243     image: openemr/dev-php-fpm:7.2
244     volumes:
245     - ../../..:/usr/share/nginx/html/openemr
246     - ./dockers/dev-php-fpm-7-2/php.ini:/usr/local/etc/php/php.ini:ro
247   dev-php-fpm-7-3:
248     restart: always
249     image: openemr/dev-php-fpm:7.3
250     volumes:
251     - ../../..:/usr/share/nginx/html/openemr
252     - ./dockers/dev-php-fpm-7-3/php.ini:/usr/local/etc/php/php.ini:ro
253   dev-php-fpm-5-6-redis:
254     restart: always
255     image: openemr/dev-php-fpm:5.6-redis
256     volumes:
257     - ../../..:/usr/share/nginx/html/openemr
258     - ./dockers/dev-php-fpm-5-6-redis/php.ini:/usr/local/etc/php/php.ini:ro
259   dev-php-fpm-7-0-redis:
260     restart: always
261     image: openemr/dev-php-fpm:7.0-redis
262     volumes:
263     - ../../..:/usr/share/nginx/html/openemr
264     - ./dockers/dev-php-fpm-7-0-redis/php.ini:/usr/local/etc/php/php.ini:ro
265   dev-php-fpm-7-1-redis:
266     restart: always
267     image: openemr/dev-php-fpm:7.1-redis
268     volumes:
269     - ../../..:/usr/share/nginx/html/openemr
270     - ./dockers/dev-php-fpm-7-1-redis/php.ini:/usr/local/etc/php/php.ini:ro
271   dev-php-fpm-7-2-redis:
272     restart: always
273     image: openemr/dev-php-fpm:7.2-redis
274     volumes:
275     - ../../..:/usr/share/nginx/html/openemr
276     - ./dockers/dev-php-fpm-7-2-redis/php.ini:/usr/local/etc/php/php.ini:ro
277   dev-php-fpm-7-3-redis:
278     restart: always
279     image: openemr/dev-php-fpm:7.3-redis
280     volumes:
281     - ../../..:/usr/share/nginx/html/openemr
282     - ./dockers/dev-php-fpm-7-3-redis/php.ini:/usr/local/etc/php/php.ini:ro
283   redis:
284     restart: always
285     image: redis