Dev setup: docker-compose up (easy, arm64, or easy-light): Hangs, fails on mysql, or rsync errors

…CONTRIBUTING.md#code-contributions-local-development

Step 3: docker-compose up HANGS:

ubuntu@ip-10-0-0-128:~/IdeaProjects/openemr/docker/development-easy$ docker-compose up
Recreating development-easy_openldap_1 … done
Recreating development-easy_mysql_1 … done
Recreating development-easy_phpmyadmin_1 … done
Recreating development-easy_couchdb_1 … done
Recreating development-easy_openemr_1 … done
Attaching to development-easy_openldap_1, development-easy_mysql_1, development-easy_phpmyadmin_1, development-easy_couchdb_1, development-easy_openemr_1
mysql_1 | 2021-11-01 01:01:00+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.5.12+maria~focal started.
mysql_1 | 2021-11-01 01:01:00+00:00 [Note] [Entrypoint]: Switching to dedicated user ‘mysql’
mysql_1 | 2021-11-01 01:01:01+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.5.12+maria~focal started.
mysql_1 | 2021-11-01 1:01:01 0 [Note] mysqld (mysqld 10.5.12-MariaDB-1:10.5.12+maria~focal) starting as process 1 …
mysql_1 | 2021-11-01 1:01:01 0 [Note] InnoDB: Uses event mutexes
mysql_1 | 2021-11-01 1:01:01 0 [Note] InnoDB: Compressed tables use zlib 1.2.11

(lots of messages)

openemr_1 | > Contribute to OpenEMR - Open Collective
openemr_1 |
openemr_1 | Starting apache!
openemr_1 | AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using 172.18.0.6. Set the ‘ServerName’ directive globally to suppress this message
couchdb_1 | [notice] 2021-11-01T01:01:20.842081Z nonode@nohost <0.284.0> -------- rexi_server : cluster stable
couchdb_1 | [notice] 2021-11-01T01:01:20.842157Z nonode@nohost <0.288.0> -------- rexi_buffer : cluster stable

(does not continue – CPU noted to be zero usage)

So I tried -arm64 instead (since I’m using an x86_64 bit) — failure associated with MySQL:

mysql_1 | standard_init_linux.go:228: exec user process caused: exec format error
mysql_1 | standard_init_linux.go:228: exec user process caused: exec format error
mysql_1 | standard_init_linux.go:228: exec user process caused: exec format error
mysql_1 | standard_init_linux.go:228: exec user process caused: exec format error
mysql_1 | standard_init_linux.go:228: exec user process caused: exec format error
mysql_1 | standard_init_linux.go:228: exec user process caused: exec format error
mysql_1 | standard_init_linux.go:228: exec user process caused: exec format error
mysql_1 | standard_init_linux.go:228: exec user process caused: exec format error
mysql_1 | standard_init_linux.go:228: exec user process caused: exec format error
mysql_1 | standard_init_linux.go:228: exec user process caused: exec format error
mysql_1 | standard_init_linux.go:228: exec user process caused: exec format error
mysql_1 | standard_init_linux.go:228: exec user process caused: exec format error
mysql_1 | standard_init_linux.go:228: exec user process caused: exec format error
mysql_1 | standard_init_linux.go:228: exec user process caused: exec format error
openemr_1 | PHP Warning: mysqli_real_connect(): (HY000/2002): Host is unreachable in /var/www/localhost/htdocs/openemr/library/classes/Installer.class.php on line 1322
openemr_1 | PHP Fatal error: Uncaught Exception: ERROR: unable to connect to database as root
openemr_1 | in /var/www/localhost/htdocs/auto_configure.php:47
openemr_1 | Stack trace:
openemr_1 | #0 {main}
openemr_1 | thrown in /var/www/localhost/htdocs/auto_configure.php on line 47
openemr_1 | Couldn’t set up. Any of these reasons could be what’s wrong:
openemr_1 | - You didn’t spin up a MySQL container or connect your OpenEMR container to a mysql instance
openemr_1 | - MySQL is still starting up and wasn’t ready for connection yet
openemr_1 | - The Mysql credentials were incorrect
docker pull openemr/openemr:flexopenemr_1 | PHP Warning: mysqli_real_connect(): php_network_getaddresses: getaddrinfo failed: Try again in /var/www/localhost/htdocs/openemr/library/classes/Installer.class.php on line 1322
openemr_1 | PHP Warning: mysqli_real_connect(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Try again in /var/www/localhost/htdocs/openemr/library/classes/Installer.class.php on line 1322
openemr_1 | PHP Fatal error: Uncaught Exception: ERROR: unable to connect to database as root
openemr_1 | in /var/www/localhost/htdocs/auto_configure.php:47
openemr_1 | Stack trace:
openemr_1 | #0 {main}
openemr_1 | thrown in /var/www/localhost/htdocs/auto_configure.php on line 47
openemr_1 | Couldn’t set up. Any of these reasons could be what’s wrong:
openemr_1 | - You didn’t spin up a MySQL container or connect your OpenEMR container to a mysql instance
openemr_1 | - MySQL is still starting up and wasn’t ready for connection yet
openemr_1 | - The Mysql credentials were incorrect
openemr_1 | PHP Warning: mysqli_real_connect(): php_network_getaddresses: getaddrinfo failed: Try again in /var/www/localhost/htdocs/openemr/library/classes/Installer.class.php on line 1322
openemr_1 | PHP Warning: mysqli_real_connect(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Try again in /var/www/localhost/htdocs/openemr/library/classes/Installer.class.php on line 1322
openemr_1 | PHP Fatal error: Uncaught Exception: ERROR: unable to connect to database as root
openemr_1 | in /var/www/localhost/htdocs/auto_configure.php:47
openemr_1 | Stack trace:
openemr_1 | #0 {main}
openemr_1 | thrown in /var/www/localhost/htdocs/auto_configure.php on line 47
openemr_1 | Couldn’t set up. Any of these reasons could be what’s wrong:
openemr_1 | - You didn’t spin up a MySQL container or connect your OpenEMR container to a mysql instance
openemr_1 | - MySQL is still starting up and wasn’t ready for connection yet
openemr_1 | - The Mysql credentials were incorrect
openemr_1 | PHP Warning: mysqli_real_connect(): php_network_getaddresses: getaddrinfo failed: Try again in /var/www/localhost/htdocs/openemr/library/classes/Installer.class.php on line 1322
openemr_1 | PHP Warning: mysqli_real_connect(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Try again in /var/www/localhost/htdocs/openemr/library/classes/Installer.class.php on line 1322
openemr_1 | PHP Fatal error: Uncaught Exception: ERROR: unable to connect to database as root
openemr_1 | in /var/www/localhost/htdocs/auto_configure.php:47
openemr_1 | Stack trace:
openemr_1 | #0 {main}
openemr_1 | thrown in /var/www/localhost/htdocs/auto_configure.php on line 47
openemr_1 | Couldn’t set up. Any of these reasons could be what’s wrong:
openemr_1 | - You didn’t spin up a MySQL container or connect your OpenEMR container to a mysql instance
openemr_1 | - MySQL is still starting up and wasn’t ready for connection yet
openemr_1 | - The Mysql credentials were incorrect
openemr_1 | PHP Warning: mysqli_real_connect(): php_network_getaddresses: getaddrinfo failed: Try again in /var/www/localhost/htdocs/openemr/library/classes/Installer.class.php on line 1322
openemr_1 | PHP Warning: mysqli_real_connect(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Try again in /var/www/localhost/htdocs/openemr/library/classes/Installer.class.php on line 1322
openemr_1 | PHP Fatal error: Uncaught Exception: ERROR: unable to connect to database as root
openemr_1 | in /var/www/localhost/htdocs/auto_configure.php:47
openemr_1 | Stack trace:
openemr_1 | #0 {main}
openemr_1 | thrown in /var/www/localhost/htdocs/auto_configure.php on line 47
openemr_1 | Couldn’t set up. Any of these reasons could be what’s wrong:
openemr_1 | - You didn’t spin up a MySQL container or connect your OpenEMR container to a mysql instance
openemr_1 | - MySQL is still starting up and wasn’t ready for connection yet
openemr_1 | - The Mysql credentials were incorrect
openemr_1 | PHP Warning: mysqli_real_connect(): php_network_getaddresses: getaddrinfo failed: Try again in /var/www/localhost/htdocs/openemr/library/classes/Installer.class.php on line 1322
openemr_1 | PHP Warning: mysqli_real_connect(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Try again in /var/www/localhost/htdocs/openemr/library/classes/Installer.class.php on line 1322
openemr_1 | PHP Fatal error: Uncaught Exception: ERROR: unable to connect to database as root
openemr_1 | in /var/www/localhost/htdocs/auto_configure.php:47
openemr_1 | Stack trace:
openemr_1 | #0 {main}
openemr_1 | thrown in /var/www/localhost/htdocs/auto_configure.php on line 47
openemr_1 | Couldn’t set up. Any of these reasons could be what’s wrong:
openemr_1 | - You didn’t spin up a MySQL container or connect your OpenEMR container to a mysql instance

Easy-light seems to have gotten the furthest – it is having rsync errors (still running as of this message):

openemr_1 | Set portal_onsite_two_enable to 1
openemr_1 | Set ccda_alt_service_enable to 3
openemr_1 | Set rest_system_scopes_api to 1
openemr_1 | Set rest_api to 1
openemr_1 | Setup Complete!
openemr_1 | rsync: [sender] link_stat “/couchdb/data” failed: No such file or directory (2)
openemr_1 | rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1330) [sender=3.2.3]
openemr_1 | rsync: [sender] link_stat “/couchdb/data” failed: No such file or directory (2)
openemr_1 | rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1330) [sender=3.2.3]
development-easy-light_openemr_1 exited with code 23
openemr_1 | rsync: [sender] link_stat “/couchdb/data” failed: No such file or directory (2)
openemr_1 | rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1330) [sender=3.2.3]
development-easy-light_openemr_1 exited with code 23
openemr_1 | rsync: [sender] link_stat “/couchdb/data” failed: No such file or directory (2)
openemr_1 | rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1330) [sender=3.2.3]
development-easy-light_openemr_1 exited with code 23
openemr_1 | rsync: [sender] link_stat “/couchdb/data” failed: No such file or directory (2)
openemr_1 | rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1330) [sender=3.2.3]
development-easy-light_openemr_1 exited with code 23
openemr_1 | rsync: [sender] link_stat “/couchdb/data” failed: No such file or directory (2)
openemr_1 | rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1330) [sender=3.2.3]
development-easy-light_openemr_1 exited with code 23
openemr_1 | rsync: [sender] link_stat “/couchdb/data” failed: No such file or directory (2)
openemr_1 | rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1330) [sender=3.2.3]
development-easy-light_openemr_1 exited with code 23
openemr_1 | rsync: [sender] link_stat “/couchdb/data” failed: No such file or directory (2)
openemr_1 | rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1330) [sender=3.2.3]
development-easy-light_openemr_1 exited with code 23
openemr_1 | rsync: [sender] link_stat “/couchdb/data” failed: No such file or directory (2)
openemr_1 | rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1330) [sender=3.2.3]
development-easy-light_openemr_1 exited with code 23
openemr_1 | rsync: [sender] link_stat “/couchdb/data” failed: No such file or directory (2)
openemr_1 | rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1330) [sender=3.2.3]
development-easy-light_openemr_1 exited with code 23
openemr_1 | rsync: [sender] link_stat “/couchdb/data” failed: No such file or directory (2)
openemr_1 | rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1330) [sender=3.2.3]
development-easy-light_openemr_1 exited with code 23
openemr_1 | rsync: [sender] link_stat “/couchdb/data” failed: No such file or directory (2)
openemr_1 | rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1330) [sender=3.2.3]
development-easy-light_openemr_1 exited with code 23
:q
openemr_1 | rsync: [sender] link_stat “/couchdb/data” failed: No such file or directory (2)
openemr_1 | rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1330) [sender=3.2.3]
development-easy-light_openemr_1 exited with code 23
openemr_1 | rsync: [sender] link_stat “/couchdb/data” failed: No such file or directory (2)
openemr_1 | rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1330) [sender=3.2.3]
development-easy-light_openemr_1 exited with code 23

(still running very slowly on an EC2 m5.large with 8 GB of RAM)
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
Address sizes: 46 bits physical, 48 bits virtual
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 2
Core(s) per socket: 1
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 85
Model name: Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz

Running on Ubuntu 20.04.3 LTS Focal with Lamp stack (PHP7.4, MySQL8.0)
ubuntu@ip-10-0-0-128:~$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
00a3fcdfde46 openemr/openemr:flex “./openemr.sh” 15 minutes ago Restarting (23) 8 seconds ago development-easy-light_openemr_1
5234de773f5a mariadb:10.5 “docker-entrypoint.s…” 15 minutes ago Up About a minute 0.0.0.0:8320->3306/tcp, :::8320->3306/tcp development-easy-light_mysql_1
cc1aa653118c phpmyadmin “/docker-entrypoint.…” 15 minutes ago Up About a minute 0.0.0.0:8310->80/tcp, :::8310->80/tcp development-easy-light_phpmyadmin_1

Looks like the openemr container keeps restarting:
development-easy-light_openemr_1
5234de773f5a mariadb:10.5 “docker-entrypoint.s…” 15 minutes ago Up About a minute 0.0.0.0:8320->3306/tcp, :::8320->3306/tcp development-easy-light_mysql_1
cc1aa653118c phpmyadmin “/docker-entrypoint.…” 15 minutes ago Up About a minute 0.0.0.0:8310->80/tcp, :::8310->80/tcp development-easy-light_phpmyadmin_1
ubuntu@ip-10-0-0-128:~$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
00a3fcdfde46 openemr/openemr:flex “./openemr.sh” 16 minutes ago Restarting (23) 43 seconds ago development-easy-light_openemr_1
5234de773f5a mariadb:10.5 “docker-entrypoint.s…” 17 minutes ago Up 2 minutes 0.0.0.0:8320->3306/tcp, :::8320->3306/tcp development-easy-light_mysql_1
cc1aa653118c phpmyadmin “/docker-entrypoint.…” 17 minutes ago Up 2 minutes 0.0.0.0:8310->80/tcp, :::8310->80/tcp development-easy-light_phpmyadmin_1
ubuntu@ip-10-0-0-128:~$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
00a3fcdfde46 openemr/openemr:flex “./openemr.sh” 17 minutes ago Restarting (23) Less than a second ago development-easy-light_openemr_1
5234de773f5a mariadb:10.5 “docker-entrypoint.s…” 17 minutes ago Up 3 minutes 0.0.0.0:8320->3306/tcp, :::8320->3306/tcp development-easy-light_mysql_1
cc1aa653118c phpmyadmin “/docker-entrypoint.…” 17 minutes ago Up 3 minutes 0.0.0.0:8310->80/tcp, :::8310->80/tcp development-easy-light_phpmyadmin_1

I finally aborted docker-compose up because something appears to be preventing this docker-compose up from working.

FYI, I think at least easy is actually functioning normally – the command you want is docker-compose up -d, it won’t detach if you don’t use the -d and it’ll appear to hang. I’m not surprised you cannot launch the arm64 build, it’s using a MySQL image I assume is incompatible with your machine if it can launch the others.

I don’t actually know what’s busted with easy-light, I’ll take a look, but you might try purging your old volumes before proceeding.

1 Like

Okay. I will try a fresh install. Here is the exact image that I am starting with on an m5.large:

LAMP server on Ubuntu 20.04 V1.0.1

with PHP 7.4.3 MYSQL Server version: 8.0.20 Apache Server version: 2.4.41

Then I will install an ssh key for github and check out my fork of openemr.

Why use a LAMP server? You’re not intending to use any of those servers if you’re trying to use the easy-dev docker-compose. Better off just to use a stock Ubuntu 20.

As long as the docker-compose isn’t fighting existing servers by grabbing high ports you probably won’t have a /conflict/ but it’s still not ideal.

1 Like

Okay. I will just use Ubuntu 20.04 LTS. Maybe that’s part of the issue.
–RBL

I was able to get the easy development environment installed. The issue was that I did not log out and back in after running the openemr-env-installer. This time around, I did that and was able to install the easy development environment without a hitch with /home/ubuntu/openemr/openemr/docker/development-easy && openemr-cmd up
ubuntu@ip-10-0-0-212:~/openemr/openemr/docker/development-easy$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
43d5bf58c022 openemr/openemr:flex “./openemr.sh” 3 minutes ago Up 3 minutes 0.0.0.0:8300->80/tcp, :::8300->80/tcp, 0.0.0.0:9300->443/tcp, :::9300->443/tcp development-easy_openemr_1
0eb6d630878e phpmyadmin “/docker-entrypoint.…” 3 minutes ago Up 3 minutes 0.0.0.0:8310->80/tcp, :::8310->80/tcp development-easy_phpmyadmin_1
35b2c6769b72 mariadb:10.5 “docker-entrypoint.s…” 3 minutes ago Up 3 minutes 0.0.0.0:8320->3306/tcp, :::8320->3306/tcp development-easy_mysql_1
3f158b25110f openemr/dev-ldap:easy “/container/tool/run” 3 minutes ago Up 3 minutes 389/tcp, 636/tcp development-easy_openldap_1
ad7b91048852 couchdb “tini – /docker-ent…” 3 minutes ago Up 3 minutes 0.0.0.0:5984->5984/tcp, :::5984->5984/tcp, 4369/tcp, 9100/tcp, 0.0.0.0:6984->6984/tcp, :::6984->6984/tcp development-easy_couchdb_1

After a bit of time installing the Ubuntu GUI and figuring out how to get RDP working from macOS running ms remote desktop to ubuntu, I was able to log into OpenEMR Version Number: v6.1.0-dev.

Thank you!!
–RBL

1 Like