ERROR [TypeOrmModule] Unable to connect to the database.
I'm bumping into an error using the docker compose method of installation with immich. All containers seem to be up asides from immich-server (which is stuck in health:starting) and machine_learning (restarting).
A closer look at the docker logs of the immich-server container reveals:
20 Replies
:wave: Hey @CatTrigger,
Thanks for reaching out to us. Please carefully read this message and follow the recommended actions. This will help us be more effective in our support effort and leave more time for building Immich :immich:.
References
- Container Logs:
docker compose logs
docs
- Container Status: docker ps -a
docs
- Reverse Proxy: https://immich.app/docs/administration/reverse-proxy
- Code Formatting https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline#h_01GY0DAKGXDEHE263BCAYEGFJA
Checklist
I have...
1. :ballot_box_with_check: verified I'm on the latest release(note that mobile app releases may take some time).
2. :ballot_box_with_check: read applicable release notes.
3. :ballot_box_with_check: reviewed the FAQs for known issues.
4. :ballot_box_with_check: reviewed Github for known issues.
5. :ballot_box_with_check: tried accessing Immich via local ip (without a custom reverse proxy).
6. :ballot_box_with_check: uploaded the relevant information (see below).
7. :ballot_box_with_check: tried an incognito window, disabled extensions, cleared mobile app cache, logged out and back in, different browsers, etc. as applicable
(an item can be marked as "complete" by reacting with the appropriate number)
Information
In order to be able to effectively help you, we need you to provide clear information to show what the problem is. The exact details needed vary per case, but here is a list of things to consider:
- Your docker-compose.yml and .env files.
- Logs from all the containers and their status (see above).
- All the troubleshooting steps you've tried so far.
- Any recent changes you've made to Immich or your system.
- Details about your system (both software/OS and hardware).
- Details about your storage (filesystems, type of disks, output of commands like fdisk -l
and df -h
).
- The version of the Immich server, mobile app, and other relevant pieces.
- Any other information that you think might be relevant.
Please paste files and logs with proper code formatting, and especially avoid blurry screenshots.
Without the right information we can't work out what the problem is. Help us help you ;)
If this ticket can be closed you can use the /close
command, and re-open it later if needed.I'm not sure if this matters, but I already have paperless installed on this machine, which uses the same redis port at 6379. Any attempts of trying to change this port through the .env results in an econnect error with connection refused.
My .env file:
My docker-compose.yml
You can use the ENV var
REDIS_PORT
to set a different port
Also, please don't put your database on a network shareWhenever I try to change the port to a different number I receive this error:
How would I be able to correctly change the redis port?
Update:
I adjusted the docker compose redis with this:
Immich is now up. However, redis with shows it's still using the same 6379/tcp port as the paperless redis. Is this a concern?
I think you still need to add
To the redis container
the proper way to set redis would be
you do not need
ports:
or command:
Yeah but putting that in the env file and adding the env file would do the same right? 👀
sure if you pass the env file in that would work.
REDIS_PORT in .env results in the ECONNREFUSED error I noted above
Editing the docker-compose with ports: also results in the same, command: so far is the only thing that allowed immich to be present.
I am confused what problem you are trying to solve.
Port conflicts are not an issue if the port is not mapped to the host, which immich does not do
the error you originally posted is related to not being able to connect to the database
So two redis services sharing 6379/tcp isn't a concern?
it is not
I recommend going back to a fully standard docker compose and env from the immich repo and then debug from there
It seems switching redis to 6380 made it work.
I've tested every step from a standard docker compose and .env file.
-Originally, I got the cannot connect database error. -I then added the REDIS_PORT=6380 which resulted in the ECONN error. -I then added ports: 6380:6380 under the redis container for the docker-compose which did not result in a change. -it was only when I added the command: line that allowed the immich server to go up.
-Originally, I got the cannot connect database error. -I then added the REDIS_PORT=6380 which resulted in the ECONN error. -I then added ports: 6380:6380 under the redis container for the docker-compose which did not result in a change. -it was only when I added the command: line that allowed the immich server to go up.

gotcha
you probably fixed something else along the line
The only other thing I did was make postgre in .env ./postgre as opposed to the network share.
However, that still resulted in the same errors I was receiving.
my guess is it hadn't applied properly when you first made that change
I mean, let me try. I'll docker compose down, and comment out the docker-compose changes I did
You're right. That did it. I commented out the docker-compose changes and redis_port.
Thank you again!
This thread has been closed. To re-open, use the button below.