Immich and volume mapping issue

I am used to mapping volumes to docker containers in the traditional sense:
/mnt/self-hosted/immich:/immich
/mnt/self-hosted/immich:/immich
However, Immich install guide says:
volumes:
# Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
- ${UPLOAD_LOCATION}:/data
volumes:
# Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
- ${UPLOAD_LOCATION}:/data
I have tried doing:
- ${UPLOAD_LOCATION}:/mnt/self-hosted/immich
- ${UPLOAD_LOCATION}:/mnt/self-hosted/immich
and:
- ${UPLOAD_LOCATION}:data
- /mnt/self-hosted/immich:/mnt/self-hosted/immich
- ${UPLOAD_LOCATION}:data
- /mnt/self-hosted/immich:/mnt/self-hosted/immich
Or
- ${UPLOAD_LOCATION}:/data
- ${UPLOAD_LOCATION}:/data
but with environment variable:
# The location where your uploaded files are stored
UPLOAD_LOCATION=./mnt/self-hosted/immich/library
# The location where your uploaded files are stored
UPLOAD_LOCATION=./mnt/self-hosted/immich/library
Where am I going wrong? All three ways I have tried will map to
/home/cat/self-hosted
/home/cat/self-hosted
instead of the desired
./mnt/self-hosted/immich
./mnt/self-hosted/immich
which lives in my root folder. I am using Linux Mint 22. My docker containers will live on the SSD, whilst the files are uploaded/managed on a HDD formatted to XFS.
17 Replies
Immich
Immich2mo ago
:wave: Hey @Cat vs Jad, 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:
Mraedis
Mraedis2mo ago
You should leave the yml and definitely the right hand side alone As for the env, the dot at front means current directory, for an absolute path you have to remove that
Cat vs Jad
Cat vs JadOP2mo ago
I saw a guide on adding second drives, I am just concerned it will automatically upload files to the SSD and not the HDD right, I tried absolute path but it keeps making this:
/home/cat/self-hosted/mnt/self-hosted/immich/library
/home/cat/self-hosted/mnt/self-hosted/immich/library
Would you have an example of correct formatting I can try? wait let me try removing the dot not sure if I have yet nope, it did it again
/home/cat/self-hosted/mnt/self-hosted/immich
/home/cat/self-hosted/mnt/self-hosted/immich
Mraedis
Mraedis2mo ago
That's pretty impossible unless you made a typo in one of the files
Cat vs Jad
Cat vs JadOP2mo ago
# You can find documentation for all the supported env variables at https://docs.immich.app/install/environment-variables

# The location where your uploaded files are stored
UPLOAD_LOCATION=/mnt/self-hosted/immich/library

# The location where your database files are stored. Network shares are not supported for the database
DB_DATA_LOCATION=./postgres

# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
# TZ=Etc/UTC

# The Immich version to use. You can pin this to a specific version like "v1.71.0"
IMMICH_VERSION=release

# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD=postgres

# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
# You can find documentation for all the supported env variables at https://docs.immich.app/install/environment-variables

# The location where your uploaded files are stored
UPLOAD_LOCATION=/mnt/self-hosted/immich/library

# The location where your database files are stored. Network shares are not supported for the database
DB_DATA_LOCATION=./postgres

# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
# TZ=Etc/UTC

# The Immich version to use. You can pin this to a specific version like "v1.71.0"
IMMICH_VERSION=release

# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD=postgres

# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
Mraedis
Mraedis2mo ago
Which at this point seems pretty likely And the volumes section?
Cat vs Jad
Cat vs JadOP2mo ago
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
extends:
file: hwaccel.transcoding.yml
service: nvenc # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
volumes:
# Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
- ${UPLOAD_LOCATION}:/data
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- '2283:2283'
depends_on:
- redis
- database
restart: always
healthcheck:
disable: false
networks:
self_hosted:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
extends:
file: hwaccel.transcoding.yml
service: nvenc # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
volumes:
# Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
- ${UPLOAD_LOCATION}:/data
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- '2283:2283'
depends_on:
- redis
- database
restart: always
healthcheck:
disable: false
networks:
self_hosted:
Mraedis
Mraedis2mo ago
Are you doing compose up or just docker start
Cat vs Jad
Cat vs JadOP2mo ago
compose up docker compose up -d normally you would map desiredpath:containerpath, but because this is doing an env variable, you would think changing the env variable would be the desired path, but it flat out refuses to do it
Mraedis
Mraedis2mo ago
Could you also delete the postgres folder so it starts fresh?
Cat vs Jad
Cat vs JadOP2mo ago
aiit
Mraedis
Mraedis2mo ago
You can also just put it directly in the yml if that's what you prefer btw
Cat vs Jad
Cat vs JadOP2mo ago
we have progress, the postgres db was made on the ssd /home/cat/self-hosted/postgres and the library is now on the mounted drive thank you! now as for the DB, this isn't a large file at some point is it? It is only a poopy 250GB SSD
Mraedis
Mraedis2mo ago
Mine is about 2gb
Cat vs Jad
Cat vs JadOP2mo ago
noice okay so it will be fine Thank you! Now to the next issue we find :KEKJavaScript:
Immich
Immich2mo ago
This thread has been closed. To re-open, use the button below.
Cat vs Jad
Cat vs JadOP2mo ago
Absolute legend @Mraedis for your time. Thank you

Did you find this page helpful?