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