Unable to complete setup. Database Connection Refused - Docker Compose

For first post, please answer the questions below!

Describe your issue in detail

I am attempting to install using the docker-compose method and when I launch my browser at IP:8080, I can accept the TOS and on the next page where it wants the database details, I have tried everything and I always get:
dial tcp 127.0.0.1:3306: connect: connection refused

What version of Cells are you using?

Pydio Cells Home Edition (v4.3.0)

What is the server OS? Database name/version? Browser name or mobile device description (if issue appears client-side)?

Ubuntu 22.04 LXC Container running on Proxmox

What steps have you taken to resolve this issue already?

I have tried using the provided docker-compose.yml, replacing the generic root and pydio DB passwords with my own. I have also tried using just the unmodified docker-compose.yml provided in the docs. In any case, I get this connection refused error whether I try the root/passwd or the pydio/passwd combination here.

Here is the console output form startup to this fail point:

$ docker-compose up
Creating network "pydio_default" with the default driver
Creating pydio_cells_1 ... done
Creating pydio_mysql_1 ... done
Attaching to pydio_cells_1, pydio_mysql_1
mysql_1  | 2023-10-27 12:26:01+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.1.0-1.el8 started.
mysql_1  | 2023-10-27 12:26:01+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
mysql_1  | 2023-10-27 12:26:01+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.1.0-1.el8 started.
cells_1  | ### Pydio Cells Home Edition
cells_1  |  Version: 	4.3.0
cells_1  |  Built: 	10 Oct 23 12:52 +0000
cells_1  |  Git commit: 	4556decc424483232641aa9867a3ab26611e4664
cells_1  |  OS/Arch: 	linux/amd64
cells_1  |  Go version: 	go1.21.1
cells_1  | ### About to execute: [cells configure --bind :8080]
mysql_1  | '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock'
cells_1  | 
cells_1  | Welcome to Pydio Cells Home Edition installation 
cells_1  | Pydio Cells Home Edition (v4.3.0) will be configured to run on this machine.
cells_1  | Make sure to prepare access and credentials to a MySQL 5.6+ (or MariaDB equivalent) server.
cells_1  | Pick your installation mode when you are ready.
cells_1  | 
mysql_1  | 2023-10-27T12:26:02.388775Z 0 [System] [MY-015015] [Server] MySQL Server - start.
mysql_1  | 2023-10-27T12:26:02.702694Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead.
mysql_1  | 2023-10-27T12:26:02.704899Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.1.0) starting as process 1
mysql_1  | 2023-10-27T12:26:02.963679Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
cells_1  | 
cells_1  | Installation Server is starting...
cells_1  | Listening to: https://0.0.0.0:8080
cells_1  | 
cells_1  | 2023-10-27T12:26:03.157Z	INFO	pydio.rest.config	starting	{"service": "pydio.rest.config", "hook router to": "/a/config"}
cells_1  | 2023-10-27T12:26:03.158Z	INFO	pydio.rest.install	starting	{"service": "pydio.rest.install", "hook router to": "/a/install"}
cells_1  | 2023-10-27T12:26:03.159Z	INFO	pydio.web.install	ready
mysql_1  | 2023-10-27T12:26:03.468939Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
cells_1  | 2023-10-27T12:26:03.587Z	INFO	pydio.rest.install	ready
cells_1  | 2023-10-27T12:26:03.588Z	INFO	pydio.rest.config	ready
cells_1  | 2023-10-27T12:26:03.591Z	INFO	pydio.server.caddy	โœ… Using the local CA at "rootCA.pem" โœจ
cells_1  | 2023-10-27T12:26:03.984Z	INFO	pydio.server.caddy	โœ… Created a new certificate valid for the following names ๐Ÿ“œ
cells_1  | 2023-10-27T12:26:03.985Z	INFO	pydio.server.caddy	 - "127.0.0.1"
cells_1  | 2023-10-27T12:26:03.985Z	INFO	pydio.server.caddy	 - "172.20.0.2"
cells_1  | 2023-10-27T12:26:03.985Z	INFO	pydio.server.caddy	 - "localhost"
cells_1  | 2023-10-27T12:26:03.985Z	INFO	pydio.server.caddy	โœ… The certificate is at "1af4058c4c51ef250c38d31ea62f340a.pem" 
cells_1  |  and the key at "1af4058c4c51ef250c38d31ea62f340a-key.pem"
cells_1  | 2023-10-27T12:26:03.985Z	INFO	pydio.server.caddy	
cells_1  | 2023-10-27T12:26:03.986Z	INFO	pydio.server.caddy	
cells_1  | 2023-10-27T12:26:03.986Z	INFO	pydio.server.caddy	๐Ÿ‘‰ If you are behind a reverse proxy, you can either install the RootCA on the proxy machine trust store, or configure your proxy to `insecure_skip_verify` for pointing to Cells.
cells_1  | 2023-10-27T12:26:03.986Z	INFO	pydio.server.caddy	๐Ÿ‘‰ If you are developing locally, you may install the RootCA in your system trust store to see a green light in your browser!
cells_1  | 2023-10-27T12:26:03.986Z	INFO	pydio.server.caddy	๐Ÿ—’  To easily install the RootCA in your trust store, use https://github.com/FiloSottile/mkcert. Set the $CAROOT environment variable to the rootCA folder then use 'mkcert -install'
cells_1  | 2023-10-27T12:26:03.986Z	INFO	pydio.server.caddy	
cells_1  | {"level":"warn","ts":1698409563.9951108,"logger":"admin","msg":"admin endpoint disabled"}{"level":"info","ts":1698409563.996056,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0xc00194e600"}{"level":"warn","ts":1698409563.9981499,"logger":"tls","msg":"stapling OCSP","error":"no OCSP stapling for [localhost 127.0.0.1 172.20.0.2]: no OCSP server specified in certificate"}{"level":"warn","ts":1698409563.998354,"logger":"http.auto_https","msg":"automatic HTTP->HTTPS redirects are disabled","server_name":"srv0"}{"level":"info","ts":1698409563.9998777,"logger":"tls","msg":"cleaning storage unit","description":"FileStorage:/var/cells/caddy"}{"level":"info","ts":1698409563.9999888,"logger":"tls","msg":"finished cleaning storage units"}{"level":"info","ts":1698409564.0000732,"logger":"http","msg":"enabling HTTP/3 listener","addr":":8080"}{"level":"info","ts":1698409564.0005825,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}{"level":"info","ts":1698409564.0010827,"msg":"autosaved config (load with --resume flag)","file":"/var/cells/caddy/autosave.json"}Open a browser window to: [https://0.0.0.0:8080]
mysql_1  | 2023-10-27T12:26:05.584869Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
mysql_1  | 2023-10-27T12:26:05.585028Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
mysql_1  | 2023-10-27T12:26:05.603208Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
mysql_1  | 2023-10-27T12:26:05.693141Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
mysql_1  | 2023-10-27T12:26:05.693456Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.1.0'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.

And here is the console output of the mysql docker container. Not sure if the โ€œRESTโ€ related entries at the end are relevant:

2023-10-27T12:00:55.542841506Z 2023-10-27 12:00:55+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.1.0-1.el8 started.
2023-10-27T12:00:56.223800467Z 2023-10-27 12:00:56+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2023-10-27T12:00:56.248234582Z 2023-10-27 12:00:56+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.1.0-1.el8 started.
2023-10-27T12:00:56.638441479Z '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock'
2023-10-27T12:00:56.953830692Z 2023-10-27T12:00:56.650147Z 0 [System] [MY-015015] [Server] MySQL Server - start.
2023-10-27T12:00:56.953933059Z 2023-10-27T12:00:56.941541Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead.
2023-10-27T12:00:56.953975318Z 2023-10-27T12:00:56.944790Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.1.0) starting as process 1
2023-10-27T12:00:56.979698126Z 2023-10-27T12:00:56.979465Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-10-27T12:00:57.587575083Z 2023-10-27T12:00:57.587366Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-10-27T12:00:58.550434218Z 2023-10-27T12:00:58.550127Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2023-10-27T12:00:58.550547048Z 2023-10-27T12:00:58.550170Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2023-10-27T12:00:58.562681469Z 2023-10-27T12:00:58.561949Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
2023-10-27T12:00:58.681944285Z 2023-10-27T12:00:58.681714Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
2023-10-27T12:00:58.682599876Z 2023-10-27T12:00:58.682508Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.1.0'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.
2023-10-27T12:18:10.518443942Z 2023-10-27T12:18:10.509456Z 0 [System] [MY-013172] [Server] Received SHUTDOWN from user <via user signal>. Shutting down mysqld (Version: 8.1.0).
2023-10-27T12:18:11.831219515Z 2023-10-27T12:18:11.831023Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.1.0)  MySQL Community Server - GPL.
2023-10-27T12:18:11.872002278Z 2023-10-27T12:18:11.871808Z 0 [System] [MY-015016] [Server] MySQL Server - end.
2023-10-27T12:18:25.643484614Z 2023-10-27 12:18:25+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.1.0-1.el8 started.
2023-10-27T12:18:26.295662087Z 2023-10-27 12:18:26+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2023-10-27T12:18:26.332566569Z 2023-10-27 12:18:26+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.1.0-1.el8 started.
2023-10-27T12:18:26.751618075Z '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock'
2023-10-27T12:18:27.105572889Z 2023-10-27T12:18:26.764916Z 0 [System] [MY-015015] [Server] MySQL Server - start.
2023-10-27T12:18:27.105678392Z 2023-10-27T12:18:27.095306Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead.
2023-10-27T12:18:27.105694211Z 2023-10-27T12:18:27.099448Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.1.0) starting as process 1
2023-10-27T12:18:27.145780484Z 2023-10-27T12:18:27.145530Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-10-27T12:18:28.746716477Z 2023-10-27T12:18:28.746439Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-10-27T12:18:29.390952427Z 2023-10-27T12:18:29.390609Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2023-10-27T12:18:29.391424530Z 2023-10-27T12:18:29.391293Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2023-10-27T12:18:29.408066214Z 2023-10-27T12:18:29.407798Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
2023-10-27T12:18:29.485953316Z 2023-10-27T12:18:29.485402Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
2023-10-27T12:18:29.486809014Z 2023-10-27T12:18:29.485490Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.1.0'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.
root@OwnCloud:~/Pydio# docker logs -t pydio_cells_1 
2023-10-27T12:00:56.939248285Z ### Pydio Cells Home Edition
2023-10-27T12:00:56.939354106Z  Version: 	4.3.0
2023-10-27T12:00:56.939366633Z  Built: 	10 Oct 23 12:52 +0000
2023-10-27T12:00:56.939375724Z  Git commit: 	4556decc424483232641aa9867a3ab26611e4664
2023-10-27T12:00:56.939567920Z  OS/Arch: 	linux/amd64
2023-10-27T12:00:56.939586087Z  Go version: 	go1.21.1
2023-10-27T12:00:56.940314881Z ### About to execute: [cells configure --bind :8080]
2023-10-27T12:00:57.210476435Z 
2023-10-27T12:00:57.210555917Z Welcome to Pydio Cells Home Edition installation 
2023-10-27T12:00:57.210566817Z Pydio Cells Home Edition (v4.3.0) will be configured to run on this machine.
2023-10-27T12:00:57.210595381Z Make sure to prepare access and credentials to a MySQL 5.6+ (or MariaDB equivalent) server.
2023-10-27T12:00:57.210605081Z Pick your installation mode when you are ready.
2023-10-27T12:00:57.210613388Z 
2023-10-27T12:00:57.614923387Z 
2023-10-27T12:00:57.615033248Z Installation Server is starting...
2023-10-27T12:00:57.615070274Z Listening to: https://0.0.0.0:8080
2023-10-27T12:00:57.615079770Z 
2023-10-27T12:00:57.615781722Z 2023-10-27T12:00:57.611Z	INFO	pydio.rest.install	starting	{"service": "pydio.rest.install", "hook router to": "/a/install"}
2023-10-27T12:00:57.616433020Z 2023-10-27T12:00:57.616Z	INFO	pydio.web.install	ready
2023-10-27T12:00:57.617065896Z 2023-10-27T12:00:57.616Z	INFO	pydio.rest.config	starting	{"service": "pydio.rest.config", "hook router to": "/a/config"}
2023-10-27T12:00:58.304757774Z 2023-10-27T12:00:58.304Z	INFO	pydio.rest.install	ready
2023-10-27T12:00:58.306168361Z 2023-10-27T12:00:58.305Z	INFO	pydio.rest.config	ready
2023-10-27T12:00:59.612335779Z Open a browser window to: [https://0.0.0.0:8080]
2023-10-27T12:01:01.984340926Z 2023-10-27T12:01:01.983Z	ERROR	pydio.rest.config	Cannot check policies: rpc error: code = Canceled desc = context canceled	{"error": "rpc error: code = Canceled desc = context canceled"}
2023-10-27T12:18:10.526184217Z {"level":"warn","ts":1698408058.3203354,"logger":"admin","msg":"admin endpoint disabled"}{"level":"info","ts":1698408058.3211017,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0xc000495f80"}{"level":"warn","ts":1698408058.3236372,"logger":"tls","msg":"stapling OCSP","error":"no OCSP stapling for [localhost 127.0.0.1 172.19.0.2]: no OCSP server specified in certificate"}{"level":"warn","ts":1698408058.3242803,"logger":"http.auto_https","msg":"automatic HTTP->HTTPS redirects are disabled","server_name":"srv0"}{"level":"info","ts":1698408058.3260102,"logger":"tls","msg":"cleaning storage unit","description":"FileStorage:/var/cells/caddy"}{"level":"info","ts":1698408058.326123,"logger":"tls","msg":"finished cleaning storage units"}{"level":"info","ts":1698408058.3263829,"logger":"http","msg":"enabling HTTP/3 listener","addr":":8080"}{"level":"info","ts":1698408058.3276546,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}{"level":"info","ts":1698408058.3280969,"msg":"autosaved config (load with --resume flag)","file":"/var/cells/caddy/autosave.json"}2023-10-27T12:18:26.594016923Z ### Pydio Cells Home Edition
2023-10-27T12:18:26.594106550Z  Version: 	4.3.0
2023-10-27T12:18:26.594117968Z  Built: 	10 Oct 23 12:52 +0000
2023-10-27T12:18:26.594127322Z  Git commit: 	4556decc424483232641aa9867a3ab26611e4664
2023-10-27T12:18:26.594157467Z  OS/Arch: 	linux/amd64
2023-10-27T12:18:26.594167237Z  Go version: 	go1.21.1
2023-10-27T12:18:26.594339108Z ### About to execute: [cells configure --bind :8080]
2023-10-27T12:18:26.838310094Z 
2023-10-27T12:18:26.838514641Z Welcome to Pydio Cells Home Edition installation 
2023-10-27T12:18:26.838830275Z Pydio Cells Home Edition (v4.3.0) will be configured to run on this machine.
2023-10-27T12:18:26.838995432Z Make sure to prepare access and credentials to a MySQL 5.6+ (or MariaDB equivalent) server.
2023-10-27T12:18:26.839124769Z Pick your installation mode when you are ready.
2023-10-27T12:18:26.839293485Z 
2023-10-27T12:18:27.117753877Z 
2023-10-27T12:18:27.117818085Z Installation Server is starting...
2023-10-27T12:18:27.117828561Z Listening to: https://0.0.0.0:8080
2023-10-27T12:18:27.117850667Z 
2023-10-27T12:18:27.119721402Z 2023-10-27T12:18:27.119Z	INFO	pydio.rest.config	starting	{"service": "pydio.rest.config", "hook router to": "/a/config"}
2023-10-27T12:18:27.128672496Z 2023-10-27T12:18:27.128Z	INFO	pydio.rest.install	starting	{"service": "pydio.rest.install", "hook router to": "/a/install"}
2023-10-27T12:18:27.130023583Z 2023-10-27T12:18:27.129Z	INFO	pydio.web.install	ready
2023-10-27T12:18:27.613636143Z 2023-10-27T12:18:27.613Z	INFO	pydio.rest.install	ready
2023-10-27T12:18:27.615391407Z 2023-10-27T12:18:27.615Z	INFO	pydio.rest.config	ready
2023-10-27T12:18:29.119840762Z Open a browser window to: [https://0.0.0.0:8080]
2023-10-27T12:18:30.031894318Z 2023-10-27T12:18:30.030Z	ERROR	pydio.rest.config	Cannot check policies: rpc error: code = Canceled desc = context canceled	{"error": "rpc error: code = Canceled desc = context canceled"}
2023-10-27T12:18:36.003354379Z 2023-10-27T12:18:36.003Z	ERROR	pydio.rest.config	Cannot check policies: rpc error: code = Canceled desc = context canceled	{"error": "rpc error: code = Canceled desc = context canceled"}
2023-10-27T12:19:12.004382374Z 2023-10-27T12:19:12.003Z	ERROR	pydio.rest.config	Cannot check policies: rpc error: code = Canceled desc = context canceled	{"error": "rpc error: code = Canceled desc = context canceled"}

If you really used the docker-compose provided by the docs, you can try to change the hostname of the DB service, that is:

replace localhost by mysql (or the corresponding name of the MySQL container in your compose file) in the Host Name field of the Database Connection step (cf your screenshot)

This should already help

Thanks for the suggestion!
That seems to have gotten me a bit further. Now instead of the Connection Refused error I am getting an access denied. Again, this is a copy/paste of the docker-compose.yml in the docs. So this still has the default โ€œP@ssw0rdโ€ used for root and pydio mysql users.

I get this error now trying to use that password for both root and pydio here:

I guess Iโ€™ll play with it a bit moreโ€ฆ

Can you please give the link of the doc you are using, it would be easier. thx

I tried changing the port here to 33060 since I see that one on the running mysql container and now I get an error about the mysql version:

Iโ€™m using the doc here, which is where it directed me when I chose Docker as the install method:

In my experience, these docker-compose methods for various apps I run typically include all the services needed.

It seems the docker-compose method is not properly generating the root/pydio mysql users.

If I docker exec -it into the mysql container and try to connect directly to the database there, I also get access denied for both users with the passwords I specify in the compose file.

For the docker compose install method, do you know if you have to take extra action to generate the users for the mysql database? It doe snot seem to mention it in the docs, and I would expect the compose file to take care of everything, but maybe there are some other steps that need to be taken?

I do not know what you have done, but I just tried with the docker compose file that is on this page, and I run it without any issue.
If I were you, I would trash everything and start again from scratch.

By the way:
docker compose logs -f mysql and docker compose logs -f cells are your friends when you launch the images, if it does not start smoothly, you will have some clue there.

Hmm, interesting.
I run several Docker services using Compose in Proxmox LXC containers on my homelab.
This was a freshly created Ubuntu 22.04 LXC and all I did was update it, install docker-compose, copy/paste the compose yml file, and docker-compose up.

Iโ€™ll experiment more over the weekend.

Thanks.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.