Hi Everyone,
I am currently trying to spin up a Joplin server on my Synology NAS and I am currently having some issues where when I attempt to start my Joplin server container I then receive the following error message:
- "[error] db: Timeout trying to connect to database: KnexTimeoutError: Knex: Timeout acquiring a connection. The pool is probably full. Are you missing a .transacting(trx) call?"
I have a feeling that my issues are related to me using a different port then the standard 5432 port that postgres uses due to my Synology device reserving that port for itself. I can successfully connect to my postgres db via pgAdmin. Are my problems related to the fact that I am not using a docker-compose file? Or is my custom postgres db password screwing things up?
If it helps, I am running the latest container versions of postgres and the Joplin server.
Here is the command that I used to spin up my postgres container:
- docker run --name sql01 -e POSTGRES_USER=joplin -e POSTGRES_PASSWORD=XXXX -v /volume1/docker/XXXX:/var/lib/postgresql/data -p 22301:5432 --net=joplin_network -d postgres
This is the command that I used to spin up my Joplin server container: - docker run --name joplin01 --env-file .env -p 22300:22300 --net=joplin_network joplin/server
Here are the parameters of the ".env" file that I use:
- APP_BASE_URL=XXXX
- APP_PORT=22300
- DB_CLIENT=pg
- POSTGRES_PASSWORD= (custom password)
- POSTGRES_DATABASE=joplin
- POSTGRES_USER=joplin
- POSTGRES_PORT=5432
- POSTGRES_HOST=sql01
- MAX_TIME_DRIFT=0
Here are some more detailed logs:
- 2022-04-21 23:02:27 stderr at fulfilled (/home/joplin/packages/server/dist/db.js:5:58)
- 2022-04-21 23:02:27 stderr at Generator.next ()
- 2022-04-21 23:02:27 stderr at Object. (/home/joplin/packages/server/src/db.ts:113:10)
- 2022-04-21 23:02:27 stderr Error: Timeout trying to connect to database. Last error was: Knex: Timeout acquiring a connection. The pool is probably full. Are you missing a .transacting(trx) call?
- 2022-04-21 23:02:27 stderr }
- 2022-04-21 23:02:27 stderr bindings: undefined
- 2022-04-21 23:02:27 stderr sql: undefined,
- 2022-04-21 23:02:27 stderr at Runner.run (/home/joplin/packages/server/node_modules/knex/lib/execution/runner.js:30:19) {
- 2022-04-21 23:02:27 stderr at Runner.ensureConnection (/home/joplin/packages/server/node_modules/knex/lib/execution/runner.js:259:28)
- 2022-04-21 23:02:27 stderr at Client_PG.acquireConnection (/home/joplin/packages/server/node_modules/knex/lib/client.js:295:26)
- 2022-04-21 23:02:27 stderr 2022-04-21 23:02:27: [error] db: Timeout trying to connect to database: KnexTimeoutError: Knex: Timeout acquiring a connection. The pool is probably full. Are you missing a .transacting(trx) call?
- 2022-04-21 23:02:27 stdout 2022-04-21 23:02:27: db: Could not connect. Will try again. Knex: Timeout acquiring a connection. The pool is probably full. Are you missing a .transacting(trx) call?
- 2022-04-21 23:01:57 stdout 2022-04-21 23:01:57: App: Trying to connect to database...
- 2022-04-21 23:01:57 stdout 2022-04-21 23:01:57: App: Content driver (fallback): null
- 2022-04-21 23:01:57 stdout 2022-04-21 23:01:57: App: Content driver: { type: 1 }
Any ideas anyone? I am sure that it is something minor that I missed as I am relatively new to Docker and I am still figuring things out. Thanks for all the help everyone!