Immich not starting on Unraid Docker.
Node.js v22.16.0
api worker exited with code 1
Starting api worker
[Nest] 2857 - 06/25/2025, 12:01:26 PM LOG [Api:EventRepository] Initialized websocket server
/app/immich/server/node_modules/postgres/cjs/src/connection.js:388
if (!query || typeof query !== 'object' || !query.reject) throw err
^
Error: connect ECONNREFUSED 192.168.0.35:5433
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1636:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '192.168.0.35',
port: 5433
}
Node.js v22.16.0
api worker exited with code 1
Starting api worker
[Nest] 2882 - 06/25/2025, 12:01:28 PM LOG [Api:EventRepository] Initialized websocket server
/app/immich/server/node_modules/postgres/cjs/src/connection.js:388
if (!query || typeof query !== 'object' || !query.reject) throw err
^
Error: connect ECONNREFUSED 192.168.0.35:5433
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1636:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '192.168.0.35',
port: 5433
}
Node.js v22.16.0
api worker exited with code 1
Starting api worker
Any idea on why this isn't working? My server IP is 192.168.0.19
SQL IP is 192.168.0.35
and Immich IP is 192.168.0.36
Once we get this working, do I need to do anything special to get my reverse proxy with SSL and https working or just point it to my IP and port and call it a day?
Thanks for any time and help you can spare my way ❤️



9 Replies
:wave: Hey @TURD FERGUSON,
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.
Successfully submitted, a tag has been added to inform contributors. :white_check_mark:Make sure the database is running
It is
When I change the DB & Immich to 'bridge' IP mode rather than a custom IP it works, but when I use custom IP's it doesn't. My goal is to NOT have ANY docker share my server's IP so I'd need the custom IP to work.
When using 'bridge' mode, I changed all IP's in Immich's config to 192.168.0.19 (servers IP)
When using custom IP's I change the DB IP back to it's custom IP of 192.168.0.35 and leave all the ports default. I keep the redis IP at 'localhost'. Any ideas on why the custom IP's are not working?
Also when I use 'bridge' mode and it works, my reverse proxy does not work.
Thanks for getting back with me ❤️
Do we know what error # -111 means?
Error: connect ECONNREFUSED 192.168.0.35:5433
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1636:16) {
errno: -111,
code: 'ECONNREFUSED'Why are you doing custom network stuff at all? Just use the defaults
Because that is how MY server is configured. If this app can't use custom IP's then maybe this isn't the right app for me?
Can this app work using custom IP's?
Of course it can, but if you're choosing to do custom setups like that then you're expected to know how to set those up
Which is why we recommend just using the default deployment
The other 25 docker apps using custom IP's (some referencing MariaDB) all work, this is the ONLY app causing some issue, so I would say I do know how to use custom IP's in my server environment.
When using custom IP's for Immich, I have specified the IP for the SQL DB as well as the port # and for the redis I assume that is either 'localhost' or my server's IP, both of which I have tried. So beyond changing the IP's and updating the config to point to specified IP's I'm really not sure what else to do? Which is why I'm reaching out. From the screenshots above, it looks as if it should just work, but I'm getting this error # -111 on a loop via the logs. Any clue to what that might be referencing or why the custom IP setup isn't working?
Did you check whether the database container is actually started up without errors?
yup, working with no errors
the DB container logs read the same with or without a custom IP,
no errors though
2025-06-25 12:20:16.759 CDT [1] LOG: redirecting log output to logging collector process
2025-06-25 12:20:16.759 CDT [1] HINT: Future log output will appear in directory "log".
PostgreSQL Database directory appears to contain a database; Skipping initialization
Here is additional DB logs if that helps?
2025-06-25 12:20:16.759 CDT [1] LOG: starting PostgreSQL 16.8 (Debian 16.8-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
2025-06-25 12:20:16.760 CDT [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
2025-06-25 12:20:16.760 CDT [1] LOG: listening on IPv6 address "::", port 5432
2025-06-25 12:20:16.836 CDT [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2025-06-25 12:20:16.845 CDT [29] LOG: database system was shut down at 2025-06-25 12:20:09 CDT
2025-06-25 12:20:16.846 [30] LOG: Find directory "pg_vectors/indexes/00000000000000000000000000000000685c21a2d4d5c028000040000000448f".
2025-06-25 12:20:16.846 [30] LOG: Find directory "pg_vectors/indexes/00000000000000000000000000000000685c21a2d4d5c02800004000000044a6".
2025-06-25 12:20:16.852 CDT [1] LOG: database system is ready to accept connections
2025-06-25 12:25:16.944 CDT [27] LOG: checkpoint starting: time
2025-06-25 12:25:19.000 CDT [27] LOG: checkpoint complete: wrote 23 buffers (0.1%); 0 WAL file(s) added, 0 removed, 0 recycled; write=2.016 s, sync=0.022 s, total=2.057 s; sync files=6, longest=0.008 s, average=0.004 s; distance=51 kB, estimate=51 kB; lsn=0/79EFE30, redo lsn=0/79EFDF8
2025-06-25 12:30:17.100 CDT [27] LOG: checkpoint starting: time
2025-06-25 12:30:20.646 CDT [27] LOG: checkpoint complete: wrote 35 buffers (0.2%); 0 WAL file(s) added, 0 removed, 0 recycled; write=3.443 s, sync=0.075 s, total=3.546 s; sync files=23, longest=0.008 s, average=0.004 s; distance=12 kB, estimate=47 kB; lsn=0/79F2EA0, redo lsn=0/79F2E68
2025-06-25 12:35:17.673 CDT [27] LOG: checkpoint starting: time
2025-06-25 12:35:18.419 CDT [27] LOG: checkpoint complete: wrote 8 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.707 s, sync=0.025 s, total=0.746 s; sync files=8, longest=0.005 s, average=0.004 s; distance=1 kB, estimate=42 kB; lsn=0/79F34F8, redo lsn=0/79F34C0
Do any of the settings in the screenshots throw red flags?