immich
immich copied to clipboard
[BUG] Shared album loading is very slow when accessed using the link
The bug
I’m having trouble accessing an album I’m trying to share. When I access the album while I’m logged in, it loads quickly. However, when I access the album using the link that is created from sharing, it takes a very long time to load and is not usable. This slowness is only present when accessing the shared link and has not appeared in any other use case. I’ve tried accessing the album from multiple devices, and all of them have been incredibly slow. It also doesn’t appear to be an internet connection issue as it occurs locally and is fast when logged in. I’ve updated to the latest version, but the issue existed prior to this version number and has persisted. Let me know if I can provide any other info to help!
The OS that Immich Server is running on
Unraid V6.11.5
Version of Immich Server
v1.51.0
Version of Immich Mobile App
v1.50.0
Platform with the issue
- [ ] Server
- [X] Web
- [ ] Mobile
Your docker-compose.yml content
version: "3.8"
services:
immich-server:
container_name: 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
- typesense
# - database
restart: always
networks:
- enterprise-net
immich-microservices:
container_name: 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
- typesense
# - database
restart: always
networks:
- enterprise-net
immich-machine-learning:
container_name: immich_machine_learning
image: altran1502/immich-machine-learning:release
command: [ "python", "src/main.py" ]
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- model-cache:/cache
env_file:
- .env
environment:
- NODE_ENV=production
# depends_on:
# - database
restart: always
networks:
- enterprise-net
immich-web:
container_name: immich_web
image: altran1502/immich-web:release
entrypoint: ["/bin/sh", "./entrypoint.sh"]
env_file:
- .env
restart: always
networks:
- enterprise-net
redis:
container_name: immich_redis
image: redis:6.2
restart: always
networks:
- enterprise-net
# 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
networks:
- enterprise-net
typesense:
container_name: immich_typesense
image: typesense/typesense:0.24.0
environment:
- TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
- TYPESENSE_DATA_DIR=/data
logging:
driver: none
networks:
- enterprise-net
volumes:
- tsdata:/data
networks:
enterprise-net:
external: true
name: enterprise-net
volumes:
model-cache:
tsdata:
# pgdata:
Your .env content
###################################################################################
# Database
###################################################################################
DB_HOSTNAME=192.168.1.101
DB_USERNAME=immich
DB_PASSWORD=redacted
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=/mnt/user/immichStorage
###################################################################################
# Typesense
###################################################################################
TYPESENSE_API_KEY=redacted
# TYPESENSE_ENABLED=false
###################################################################################
# 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>[email protected]</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
####################################################################################
# Alternative API's External Address - Optional
#
# This is an advanced feature used to control the public server endpoint returned to clients during Well-known discovery.
# You should only use this if you want mobile apps to access the immich API over a custom URL. Do not include trailing slash.
# NOTE: At this time, the web app will not be affected by this setting and will continue to use the relative path: /api
# Examples: http://localhost:3001, http://immich-api.example.com, etc
####################################################################################
#IMMICH_API_URL_EXTERNAL=http://localhost:3001
Reproduction steps
1. Put either a large amount of pictures (in this example, 671 photos) or a large picture size into an album.
2. Share the album link.
3. Access the album from the web while logged-out of immich.
Additional information
No response
Is it only slow with an album with many photos or also slow with an album with fewer photos? Let's say ten photos.
It seems to be able to do that without any issue. After playing around with it, I think it starts to happen right around 130 photos. Sometimes it will load a little less than that before stopping and other times a little more, but that seems to be about an average.
I am having this same issue. I have an album with 10,234 photos. When I'm logged in and accessing the album, performance is good (great even).
However when using the link it's incredibly slow. Using web inspector, I can see the time to load the thumbnails is consistently around 167ms when logged in and 9600ms when not logged in.