I
Immich5w ago
reggna

Clean uncustomized setup, but not able to connect to server.

Followed the installation script. Then with the Docker Compose instructions. Nothing worked. The container launches as intended, but when I try to connect, I reach the server but the server disconnects/crashes. It seems like the api process is repeatability killed and restarted:
Initializing Immich v1.131.1
/usr/src/app/node_modules/postgres/cjs/src/connection.js:389
stack: { value: err.stack + query.origin.replace(/.*\n/, '\n'), enumerable: options.debug },

TypeError: Cannot read properties of undefined (reading 'replace')
at queryError (/usr/src/app/node_modules/postgres/cjs/src/connection.js:389:48)
at errored (/usr/src/app/node_modules/postgres/cjs/src/connection.js:384:17)
at Socket.error (/usr/src/app/node_modules/postgres/cjs/src/connection.js:376:5)
at Socket.emit (node:events:518:28)
at emitErrorNT (node:internal/streams/destroy:170:8)
at emitErrorCloseNT (node:internal/streams/destroy:129:3)
at process.processTicksAndRejections (node:internal/process/task_queues:90:21)

microservices worker error: TypeError: Cannot read properties of undefined (reading 'replace'), stack: TypeError: Cannot read properties of undefined (reading 'replace')
at queryError (/usr/src/app/node_modules/postgres/cjs/src/connection.js:389:48)
at errored (/usr/src/app/node_modules/postgres/cjs/src/connection.js:384:17)
at Socket.error (/usr/src/app/node_modules/postgres/cjs/src/connection.js:376:5)
at Socket.emit (node:events:518:28)
at emitErrorNT (node:internal/streams/destroy:170:8)
at emitErrorCloseNT (node:internal/streams/destroy:129:3)
at process.processTicksAndRejections (node:internal/process/task_queues:90:21)
microservices worker exited with code 1
Killing api process
Initializing Immich v1.131.1
/usr/src/app/node_modules/postgres/cjs/src/connection.js:389
stack: { value: err.stack + query.origin.replace(/.*\n/, '\n'), enumerable: options.debug },

TypeError: Cannot read properties of undefined (reading 'replace')
at queryError (/usr/src/app/node_modules/postgres/cjs/src/connection.js:389:48)
at errored (/usr/src/app/node_modules/postgres/cjs/src/connection.js:384:17)
at Socket.error (/usr/src/app/node_modules/postgres/cjs/src/connection.js:376:5)
at Socket.emit (node:events:518:28)
at emitErrorNT (node:internal/streams/destroy:170:8)
at emitErrorCloseNT (node:internal/streams/destroy:129:3)
at process.processTicksAndRejections (node:internal/process/task_queues:90:21)

microservices worker error: TypeError: Cannot read properties of undefined (reading 'replace'), stack: TypeError: Cannot read properties of undefined (reading 'replace')
at queryError (/usr/src/app/node_modules/postgres/cjs/src/connection.js:389:48)
at errored (/usr/src/app/node_modules/postgres/cjs/src/connection.js:384:17)
at Socket.error (/usr/src/app/node_modules/postgres/cjs/src/connection.js:376:5)
at Socket.emit (node:events:518:28)
at emitErrorNT (node:internal/streams/destroy:170:8)
at emitErrorCloseNT (node:internal/streams/destroy:129:3)
at process.processTicksAndRejections (node:internal/process/task_queues:90:21)
microservices worker exited with code 1
Killing api process
I'm not really sure what's wrong here. I didn't change anything from the original docker-compose.yml or or .env. Am I supposed to create and set-up the postgresql database before launching? I didn't see anything about that in the set-up instructions.
8 Replies
Immich
Immich5w ago
:wave: Hey @reggna, 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:
reggna
reggnaOP5w ago
The error message looks a bit similar to https://github.com/immich-app/immich/issues/17174 , but I didn't customize anything. This was a clean install with no edits. I've made sure there's no firewall active. Even connecting from the same computer gives an error:
$ curl -vvv localhost:2283
* Host localhost:2283 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
* Trying [::1]:2283...
* Connected to localhost (::1) port 2283
> GET / HTTP/1.1
> Host: localhost:2283
> User-Agent: curl/8.9.1
> Accept: */*
>
* Request completely sent off
* Recv failure: Connection reset by peer
* closing connection #0
curl: (56) Recv failure: Connection reset by peer
$ curl -vvv localhost:2283
* Host localhost:2283 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
* Trying [::1]:2283...
* Connected to localhost (::1) port 2283
> GET / HTTP/1.1
> Host: localhost:2283
> User-Agent: curl/8.9.1
> Accept: */*
>
* Request completely sent off
* Recv failure: Connection reset by peer
* closing connection #0
curl: (56) Recv failure: Connection reset by peer
The request is sent, but the connection is terminated. I think this is the root cause of the problem:
$ docker logs immich_postgres
chmod: changing permissions of '/var/lib/postgresql/data': Permission denied
find: ‘/var/lib/postgresql/data’: Permission denied
$ docker logs immich_postgres
chmod: changing permissions of '/var/lib/postgresql/data': Permission denied
find: ‘/var/lib/postgresql/data’: Permission denied
I've installed and configured postgresql on my local machine (even though I'm not sure if that's part of the Immich set-up or not?). I'm on Fedora 41 and /var/lib/postgresql/data doesn't exist on my machine. Instead, the default data location is /var/lib/pgsql/data. But again, shouldn't this be locations inside the immich_postgres docker instance?
Zeus
Zeus5w ago
you are probably using appsec/apparmor/seccomp/SELinux since it is fedora so the syscall for chmod is being blocked by your kernel I think fedora uses SELinux
reggna
reggnaOP5w ago
Yes. Created a symlink for the postgresql directory and temporarily disabled SELinux and now we're up and running!
sudo ln -s /var/lib/pgsql /var/lib/postgresql
sudo setenforce 0
sudo ln -s /var/lib/pgsql /var/lib/postgresql
sudo setenforce 0
Will get a permanent solution for SELinux in a while, but I'll mark this as resolved. Thanks @Zeus ! As a side note, I'd suggest adding a note in the set-up instructions about postgresql having to be pre-installed and that what the data location should be.
Immich
Immich5w ago
This thread has been closed. To re-open, use the button below.
Zeus
Zeus5w ago
it doesn't need to be preinstalled lol i hadn't gotten to that yet but you went quite off the rails haha the postgres docker container is being blocked for the same reason likely
reggna
reggnaOP5w ago
Aaaah! I see, it was just SELinux being the problem. Interesting. Then my initial understanding of how this project works with docker is still good. Phew. 🤣 Alright. My final way of dealing with the SELinux issue was to add a :z at the end of the database volumes line (indicating that the volume content can be shared) in docker-compose.yml. So instead of:
volumes:
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
volumes:
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
It now looks like this:
volumes:
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data:z
volumes:
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data:z
I'm (obviously) not an expert on how Docker Compose deals with SELinux, but now I'm able to run everything with SELinux enabled. I'd be happy to create a pull request if this is indeed an applicable solution?
Zeus
Zeus5w ago
No, this isn’t something we would want to add to our compose. This is up to the system admin

Did you find this page helpful?