[BUG] UPLOAD_LOCATION ignored #457

Closed
opened 2026-02-04 20:35:53 +03:00 by OVERLORD · 1 comment
Owner

Originally created by @ZsZolee on GitHub (Nov 30, 2022).

Describe the bug
I have a Raspberry pi 4 and I installed with docker easily the app. The .env file was set up to point to my external USB HDD. I even successfully made a backup of my phone pictures to the specified directory. It passed a few days, but today when I checked the Web admin shows the "silhouette" of the thumbnails, but without the actual picture and they can't be opened too. The Storage space in the left corner shows the space of the SD card and not the space left on the USB drive. I think something gone really wrong. Nothing changed, the drive hasn't moved or anything else.
I tried to update with the "docker-compose pull && docker-compose up -d" command, and it run without any error. The problem was still not resolved.

Task List

Please complete the task list below. We need this information to help us reproduce the bug or point out problems in your setup. You are not providing enough info may delay our effort to help you.

  • [X ] I have read thoroughly the README setup and installation instructions.
  • [X ] I have included my docker-compose file.
  • [ X] I have included my redacted .env file.
  • [ X] I have included information on my machine, and environment.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

System

  • Phone OS [iOS, Android]: <version>
  • Server Version: v.1.36.2
  • Mobile App Version: <version>

Additional context
Add any other context about the problem here.

docker-compose.yml:

version: "3.8"

services:
immich-server:
image: altran1502/immich-server:release
entrypoint: ["/bin/sh", "./start-server.sh"]
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
env_file:
- .env
environment:
- NODE_ENV=production
depends_on:
- redis
- database
restart: always

immich-microservices:
image: altran1502/immich-server:release
entrypoint: ["/bin/sh", "./start-microservices.sh"]
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
env_file:
- .env
environment:
- NODE_ENV=production
depends_on:
- redis
- database
restart: always

immich-machine-learning:
image: altran1502/immich-machine-learning:release
entrypoint: ["/bin/sh", "./entrypoint.sh"]
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
env_file:
- .env
environment:
- NODE_ENV=production
depends_on:
- database
restart: always

immich-web:
image: altran1502/immich-web:release
entrypoint: ["/bin/sh", "./entrypoint.sh"]
env_file:
- .env
environment:
# Rename these values for svelte public interface
- PUBLIC_IMMICH_SERVER_URL=${IMMICH_SERVER_URL}
restart: always

redis:
container_name: immich_redis
image: redis:6.2
restart: always

database:
container_name: immich_postgres
image: postgres:14
env_file:
- .env
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
PG_DATA: /var/lib/postgresql/data
volumes:
- pgdata:/var/lib/postgresql/data
restart: always

immich-proxy:
container_name: immich_proxy
image: altran1502/immich-proxy:release
environment:
# Make sure these values get passed through from the env file
- IMMICH_SERVER_URL
- IMMICH_WEB_URL
ports:
- 2283:8080
logging:
driver: none
depends_on:
- immich-server
restart: always

volumes:
pgdata:

.env:

###################################################################################

Database

###################################################################################

DB_HOSTNAME=immich_postgres
DB_USERNAME=postgres
DB_PASSWORD=postgres
DB_DATABASE_NAME=immich

Optional Database settings:

DB_PORT=5432

###################################################################################

Redis

###################################################################################

REDIS_HOSTNAME=immich_redis

Optional Redis settings:

REDIS_PORT=6379

REDIS_DBINDEX=0

REDIS_PASSWORD=

REDIS_SOCKET=

###################################################################################

Upload File Location

This is the location where uploaded files are stored.

###################################################################################

UPLOAD_LOCATION=/media/plex/Plex/Gallery

###################################################################################

Log message level - [simple|verbose]

###################################################################################

LOG_LEVEL=simple

###################################################################################

JWT SECRET

This JWT_SECRET is used to sign the authentication keys for user login

You should set it to a long randomly generated value

You can use this command to generate one: openssl rand -base64 128

###################################################################################

JWT_SECRET=[REDACTED]

###################################################################################

Reverse Geocoding

Reverse geocoding is done locally which has a small impact on memory usage

This memory usage can be altered by changing the REVERSE_GEOCODING_PRECISION variable

This ranges from 0-3 with 3 being the most precise

3 - Cities > 500 population: ~200MB RAM

2 - Cities > 1000 population: ~150MB RAM

1 - Cities > 5000 population: ~80MB RAM

0 - Cities > 15000 population: ~40MB RAM

####################################################################################

DISABLE_REVERSE_GEOCODING=false

REVERSE_GEOCODING_PRECISION=3

####################################################################################

WEB - Optional

Custom message on the login page, should be written in HTML form.

For example:

PUBLIC_LOGIN_PAGE_MESSAGE="This is a demo instance of Immich.

Email: demo@demo.de
Password: demo"

####################################################################################

PUBLIC_LOGIN_PAGE_MESSAGE=

####################################################################################

Alternative Service Addresses - Optional

This is an advanced feature for users who may be running their immich services on different hosts.

It will not change which address or port that services bind to within their containers, but it will change where other services look for their peers.

Note: immich-microservices is bound to 3002, but no references are made

####################################################################################

IMMICH_WEB_URL=http://immich-web:3000

IMMICH_SERVER_URL=http://immich-server:3001

IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3003

####################################################################################

OAuth Setting - Optional

These setting will enable OAuth login for your instance of Immich

Folow the instructions in the page https://immich.app/docs/usage/oauth to set up your OAuth provider

####################################################################################

OAUTH_ENABLED=false

OAUTH_ISSUER_URL=

OAUTH_CLIENT_ID=

OAUTH_CLIENT_SECRET=

OAUTH_BUTTON_TEXT=Login with OAuth

OAUTH_AUTO_REGISTER=true

OAUTH_SCOPE="openid profile email"

Originally created by @ZsZolee on GitHub (Nov 30, 2022). <!-- Note: Please search to see if an issue already exists for the bug you encountered. --> **Describe the bug** I have a Raspberry pi 4 and I installed with docker easily the app. The .env file was set up to point to my external USB HDD. I even successfully made a backup of my phone pictures to the specified directory. It passed a few days, but today when I checked the Web admin shows the "silhouette" of the thumbnails, but without the actual picture and they can't be opened too. The Storage space in the left corner shows the space of the SD card and not the space left on the USB drive. I think something gone really wrong. Nothing changed, the drive hasn't moved or anything else. I tried to update with the "docker-compose pull && docker-compose up -d" command, and it run without any error. The problem was still not resolved. **Task List** *Please complete the task list below. We need this information to help us reproduce the bug or point out problems in your setup. You are not providing enough info may delay our effort to help you.* - [X ] I have read thoroughly the README setup and installation instructions. - [X ] I have included my `docker-compose` file. - [ X] I have included my redacted `.env` file. - [ X] I have included information on my machine, and environment. **To Reproduce** Steps to reproduce the behavior: 1. Go to '...' 2. Click on '....' 3. Scroll down to '....' 4. See error **Expected behavior** A clear and concise description of what you expected to happen. **Screenshots** If applicable, add screenshots to help explain your problem. **System** - Phone OS [iOS, Android]: `<version>` - Server Version: `v.1.36.2` - Mobile App Version: `<version>` **Additional context** Add any other context about the problem here. docker-compose.yml: version: "3.8" services: immich-server: image: altran1502/immich-server:release entrypoint: ["/bin/sh", "./start-server.sh"] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload env_file: - .env environment: - NODE_ENV=production depends_on: - redis - database restart: always immich-microservices: image: altran1502/immich-server:release entrypoint: ["/bin/sh", "./start-microservices.sh"] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload env_file: - .env environment: - NODE_ENV=production depends_on: - redis - database restart: always immich-machine-learning: image: altran1502/immich-machine-learning:release entrypoint: ["/bin/sh", "./entrypoint.sh"] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload env_file: - .env environment: - NODE_ENV=production depends_on: - database restart: always immich-web: image: altran1502/immich-web:release entrypoint: ["/bin/sh", "./entrypoint.sh"] env_file: - .env environment: # Rename these values for svelte public interface - PUBLIC_IMMICH_SERVER_URL=${IMMICH_SERVER_URL} restart: always redis: container_name: immich_redis image: redis:6.2 restart: always database: container_name: immich_postgres image: postgres:14 env_file: - .env environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} PG_DATA: /var/lib/postgresql/data volumes: - pgdata:/var/lib/postgresql/data restart: always immich-proxy: container_name: immich_proxy image: altran1502/immich-proxy:release environment: # Make sure these values get passed through from the env file - IMMICH_SERVER_URL - IMMICH_WEB_URL ports: - 2283:8080 logging: driver: none depends_on: - immich-server restart: always volumes: pgdata: .env: ################################################################################### # Database ################################################################################### DB_HOSTNAME=immich_postgres DB_USERNAME=postgres DB_PASSWORD=postgres DB_DATABASE_NAME=immich # Optional Database settings: # DB_PORT=5432 ################################################################################### # Redis ################################################################################### REDIS_HOSTNAME=immich_redis # Optional Redis settings: # REDIS_PORT=6379 # REDIS_DBINDEX=0 # REDIS_PASSWORD= # REDIS_SOCKET= ################################################################################### # Upload File Location # # This is the location where uploaded files are stored. ################################################################################### UPLOAD_LOCATION=/media/plex/Plex/Gallery ################################################################################### # Log message level - [simple|verbose] ################################################################################### LOG_LEVEL=simple ################################################################################### # JWT SECRET # # This JWT_SECRET is used to sign the authentication keys for user login # You should set it to a long randomly generated value # You can use this command to generate one: openssl rand -base64 128 ################################################################################### JWT_SECRET=[REDACTED] ################################################################################### # Reverse Geocoding # # Reverse geocoding is done locally which has a small impact on memory usage # This memory usage can be altered by changing the REVERSE_GEOCODING_PRECISION variable # This ranges from 0-3 with 3 being the most precise # 3 - Cities > 500 population: ~200MB RAM # 2 - Cities > 1000 population: ~150MB RAM # 1 - Cities > 5000 population: ~80MB RAM # 0 - Cities > 15000 population: ~40MB RAM #################################################################################### # DISABLE_REVERSE_GEOCODING=false # REVERSE_GEOCODING_PRECISION=3 #################################################################################### # WEB - Optional # # Custom message on the login page, should be written in HTML form. # For example: # PUBLIC_LOGIN_PAGE_MESSAGE="This is a demo instance of Immich.<br><br>Email: <i>demo@demo.de</i><br>Password: <i>demo</i>" #################################################################################### PUBLIC_LOGIN_PAGE_MESSAGE= #################################################################################### # Alternative Service Addresses - Optional # # This is an advanced feature for users who may be running their immich services on different hosts. # It will not change which address or port that services bind to within their containers, but it will change where other services look for their peers. # Note: immich-microservices is bound to 3002, but no references are made #################################################################################### # IMMICH_WEB_URL=http://immich-web:3000 # IMMICH_SERVER_URL=http://immich-server:3001 # IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3003 #################################################################################### # OAuth Setting - Optional # # These setting will enable OAuth login for your instance of Immich # Folow the instructions in the page https://immich.app/docs/usage/oauth to set up your OAuth provider #################################################################################### # OAUTH_ENABLED=false # OAUTH_ISSUER_URL= # OAUTH_CLIENT_ID= # OAUTH_CLIENT_SECRET= # OAUTH_BUTTON_TEXT=Login with OAuth # OAUTH_AUTO_REGISTER=true # OAUTH_SCOPE="openid profile email"
Author
Owner

@ZsZolee commented on GitHub (Nov 30, 2022):

Resolved the problem with adding a delay to start the docker container (wait for the HDD to spin up at startup). This link helped: https://www.reddit.com/r/docker/comments/ke3twe/how_to_delay_the_start_of_a_container_at_system/

@ZsZolee commented on GitHub (Nov 30, 2022): Resolved the problem with adding a delay to start the docker container (wait for the HDD to spin up at startup). This link helped: https://www.reddit.com/r/docker/comments/ke3twe/how_to_delay_the_start_of_a_container_at_system/
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#457