I
Immich3w ago
demise

Immich not reading DB_URL env variable passed using docker compose

I am trying to setup immich inside a docker network, as i already have another instance of postgres and redis running, and I don't want to share them. So immich will have it's own database and redis instance. I am not using machine learning features. I tried setting up DB_URL in immich server, but it is somehow getting ignored and default user of postgres is being used. I have checked docker inspect shows correct structure for DB_URL. Here is the error immich server throws:
Initializing Immich v1.132.3
Detected CPU Cores: 6
Starting api worker
Starting microservices worker
[Nest] 7 - 05/18/2025, 7:47:55 PM LOG [Microservices:EventRepository] Initialized websocket server
microservices worker error: PostgresError: password authentication failed for user "postgres", stack: PostgresError: password authentication failed for user "postgres"
at ErrorResponse (/usr/src/app/node_modules/postgres/cjs/src/connection.js:790:26)
at handle (/usr/src/app/node_modules/postgres/cjs/src/connection.js:476:6)
at Socket.data (/usr/src/app/node_modules/postgres/cjs/src/connection.js:315:9)
at Socket.emit (node:events:518:28)
at addChunk (node:internal/streams/readable:561:12)
at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)
at Readable.push (node:internal/streams/readable:392:5)
at TCP.onStreamRead (node:internal/stream_base_commons:189:23)
microservices worker exited with code 1
Killing api process
Initializing Immich v1.132.3
Detected CPU Cores: 6
Starting api worker
Starting microservices worker
[Nest] 7 - 05/18/2025, 7:47:55 PM LOG [Microservices:EventRepository] Initialized websocket server
microservices worker error: PostgresError: password authentication failed for user "postgres", stack: PostgresError: password authentication failed for user "postgres"
at ErrorResponse (/usr/src/app/node_modules/postgres/cjs/src/connection.js:790:26)
at handle (/usr/src/app/node_modules/postgres/cjs/src/connection.js:476:6)
at Socket.data (/usr/src/app/node_modules/postgres/cjs/src/connection.js:315:9)
at Socket.emit (node:events:518:28)
at addChunk (node:internal/streams/readable:561:12)
at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)
at Readable.push (node:internal/streams/readable:392:5)
at TCP.onStreamRead (node:internal/stream_base_commons:189:23)
microservices worker exited with code 1
Killing api process
10 Replies
Immich
Immich3w ago
:wave: Hey @demise, 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. :blue_square: reviewed the FAQs for known issues. 4. :blue_square: reviewed Github for known issues. 5. :blue_square: tried accessing Immich via local ip (without a custom reverse proxy). 6. :blue_square: uploaded the relevant information (see below). 7. :blue_square: 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.
demise
demiseOP3w ago
here's my docker compose file. i believe extra network is redundant, as compose automatically creates one. also on a side note, i have modified the upload location, instead of using given variable, i have used my own host mapping (hope it's correct and doesn't interfere with immich)
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:release
environment:
- DB_URL:"postgresql://${IMMICH_DB_USERNAME}:${IMMICH_DB_PASSWORD}@immich_postgres/immich"
volumes:
- /etc/localtime:/etc/localtime:ro
- ${USERDIR}/data/backup/immich:/usr/src/app/upload
networks:
- immich
ports:
- 2283:2283
depends_on:
- redis
- database
restart: always
healthcheck:
disable: false

redis:
container_name: immich_redis
image: docker.io/valkey/valkey:8-bookworm@sha256:42cba146593a5ea9a622002c1b7cba5da7be248650cbb64ecb9c6c33d29794b1
networks:
- immich
healthcheck:
test: redis-cli ping || exit 1
restart: always

database:
container_name: immich_postgres
image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:739cdd626151ff1f796dc95a6591b55a714f341c737e27f045019ceabf8e8c52
networks:
- immich
environment:
POSTGRES_PASSWORD: ${IMMICH_DB_PASSWORD}
POSTGRES_USER: ${IMMICH_DB_USERNAME}
POSTGRES_DB: immich
POSTGRES_INITDB_ARGS: '--data-checksums'
volumes:
- ${CONFIGDIR}/immich/db:/var/lib/postgresql/data
healthcheck:
test: >-
pg_isready --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" || exit 1; Chksum="$$(psql --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ "$$Chksum" = '0' ] || exit 1
interval: 5m
start_interval: 30s
start_period: 5m
command: >-
postgres -c shared_preload_libraries=vectors.so -c 'search_path="$$user", public, vectors' -c logging_collector=on -c max_wal_size=2GB -c shared_buffers=512MB -c wal_compression=on
restart: always

networks:
immich:
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:release
environment:
- DB_URL:"postgresql://${IMMICH_DB_USERNAME}:${IMMICH_DB_PASSWORD}@immich_postgres/immich"
volumes:
- /etc/localtime:/etc/localtime:ro
- ${USERDIR}/data/backup/immich:/usr/src/app/upload
networks:
- immich
ports:
- 2283:2283
depends_on:
- redis
- database
restart: always
healthcheck:
disable: false

redis:
container_name: immich_redis
image: docker.io/valkey/valkey:8-bookworm@sha256:42cba146593a5ea9a622002c1b7cba5da7be248650cbb64ecb9c6c33d29794b1
networks:
- immich
healthcheck:
test: redis-cli ping || exit 1
restart: always

database:
container_name: immich_postgres
image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:739cdd626151ff1f796dc95a6591b55a714f341c737e27f045019ceabf8e8c52
networks:
- immich
environment:
POSTGRES_PASSWORD: ${IMMICH_DB_PASSWORD}
POSTGRES_USER: ${IMMICH_DB_USERNAME}
POSTGRES_DB: immich
POSTGRES_INITDB_ARGS: '--data-checksums'
volumes:
- ${CONFIGDIR}/immich/db:/var/lib/postgresql/data
healthcheck:
test: >-
pg_isready --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" || exit 1; Chksum="$$(psql --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ "$$Chksum" = '0' ] || exit 1
interval: 5m
start_interval: 30s
start_period: 5m
command: >-
postgres -c shared_preload_libraries=vectors.so -c 'search_path="$$user", public, vectors' -c logging_collector=on -c max_wal_size=2GB -c shared_buffers=512MB -c wal_compression=on
restart: always

networks:
immich:
NoMachine
NoMachine3w ago
you are missing the env file part, get the compose file from https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml and try again
bo0tzz
bo0tzz3w ago
environment:
- DB_URL:"postgresql://${IMMICH_DB_USERNAME}:${IMMICH_DB_PASSWORD}@Immich_postgres/immich"
environment:
- DB_URL:"postgresql://${IMMICH_DB_USERNAME}:${IMMICH_DB_PASSWORD}@Immich_postgres/immich"
This syntax is not valid It should be
environment:
DB_URL: "etc"
environment:
DB_URL: "etc"
demise
demiseOP3w ago
damn i messed up the format. let me try changing it looks like it worked. format was the issue. also somehow my password had an @ symbol, messing up DB_URL Apart from this: 1. does changing UPLOAD_LOCATION variable and DB_LOCATION variable cause any issues? 2. i will remove the other immich network i created, as docker compose already creates a network by default 3. where to find current release version (and what syntax)? i would like to pin immich version and manually update
Daniel
Daniel3w ago
1. You're perfectly fine to change those locations. The Immich server container won't even care about DB_LOCATION. You shouldn't put your database on an NTFS file system, or on a network mount 2. sure 3. https://github.com/immich-app/immich/releases/tag/v1.132.3 To add to 3.; currently not semver, but we'll switch to that once we go stable
demise
demiseOP3w ago
1. my database and docker connect to my truenas vm over nfs, i guess it could cause problems 3. i can use ghcr.io/immich-app/immich-server:v1.132.3 right? 4. for other containers that i run, i map some important locations containing config files etc onto a host folder (which i backup). is there something similar in immich as well? i read there is a config file
Daniel
Daniel3w ago
1. It will, yes. 2. Yup :) 3. https://immich.app/docs/guides/custom-locations does this help?
demise
demiseOP3w ago
but if my nfs share goes down i will be having even bigger problems. better i will try to take frequent backups. 3. perfect. thanks! i will close this ticket
Immich
Immich3w ago
This thread has been closed. To re-open, use the button below.

Did you find this page helpful?