Cant upload from webclient

Hey guys, Im trying to get Immich working. have ran the install and can confirm uploads from phone app work and by mounting the external libs, but for some reason webUI uploads wont happen. Have tried: - Changing the ownership of the default uploads and database dirs to $USER and to root to no avail. - Testing on baremetal machine running arch - Testing on debian LXC. - Testing with no reverse-proxy by accesing the ip and port directly. - Checking for issues on GH related to uploading. - Checking release notes. - Tried testing from Chromium based browsers and Firefox based browsers. docker-compose logs -f doesnt show anything else than a simple socket created for whoever logs in in both the debian or arch machines.
30 Replies
Immich
Immich2mo ago
:wave: Hey @SpanishHans, 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. :blue_square: verified I'm on the latest release(note that mobile app releases may take some time). 2. :blue_square: 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.
SpanishHans
SpanishHansOP2mo ago
Nothing fancy on compose, no nvidia or any type of RAID setup.
name: immich

services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
volumes:
- ${UPLOAD_LOCATION}:/data
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- '2283:2283'
depends_on:
- redis
- database
restart: always
healthcheck:
disable: false

immich-machine-learning:
container_name: immich_machine_learning
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
volumes:
- model-cache:/cache
env_file:
- .env
restart: always
healthcheck:
disable: false

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

database:
container_name: immich_postgres
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:32324a2f41df5de9efe1af166b7008c3f55646f8d0e00d9550c16c9822366b4a
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: '--data-checksums'
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
shm_size: 128mb
restart: always

volumes:
model-cache:
name: immich

services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
volumes:
- ${UPLOAD_LOCATION}:/data
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- '2283:2283'
depends_on:
- redis
- database
restart: always
healthcheck:
disable: false

immich-machine-learning:
container_name: immich_machine_learning
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
volumes:
- model-cache:/cache
env_file:
- .env
restart: always
healthcheck:
disable: false

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

database:
container_name: immich_postgres
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:32324a2f41df5de9efe1af166b7008c3f55646f8d0e00d9550c16c9822366b4a
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: '--data-checksums'
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
shm_size: 128mb
restart: always

volumes:
model-cache:
.env is
# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables

# The location where your uploaded files are stored
UPLOAD_LOCATION=./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=somepasswordobviously

# 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://immich.app/docs/install/environment-variables

# The location where your uploaded files are stored
UPLOAD_LOCATION=./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=somepasswordobviously

# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
All containers running
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
833d136206fa ghcr.io/immich-app/immich-server:release "tini -- /bin/bash -…" 3 minutes ago Up 3 minutes (healthy) 0.0.0.0:2283->2283/tcp, [::]:2283->2283/tcp immich_server
fcc76662aff3 ghcr.io/immich-app/immich-machine-learning:release "tini -- python -m i…" 3 minutes ago Up 3 minutes (healthy) immich_machine_learning
47d1236cfe6d ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0 "/usr/local/bin/immi…" 3 minutes ago Up 3 minutes (healthy) 5432/tcp immich_postgres
c8b3d5c0105e valkey/valkey:8-bookworm "docker-entrypoint.s…" 3 minutes ago Up 3 minutes (healthy) 6379/tcp immich_redis
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
833d136206fa ghcr.io/immich-app/immich-server:release "tini -- /bin/bash -…" 3 minutes ago Up 3 minutes (healthy) 0.0.0.0:2283->2283/tcp, [::]:2283->2283/tcp immich_server
fcc76662aff3 ghcr.io/immich-app/immich-machine-learning:release "tini -- python -m i…" 3 minutes ago Up 3 minutes (healthy) immich_machine_learning
47d1236cfe6d ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0 "/usr/local/bin/immi…" 3 minutes ago Up 3 minutes (healthy) 5432/tcp immich_postgres
c8b3d5c0105e valkey/valkey:8-bookworm "docker-entrypoint.s…" 3 minutes ago Up 3 minutes (healthy) 6379/tcp immich_redis
Even changed dir permissions to nuke mode with 777
la
total 8.0K
-rwxrwxrwx 1 root root 2.8K Aug 18 18:28 docker-compose.yml
-rwxrwxrwx 1 root root 987 Aug 18 18:28 .env
drwxrwxrwx 1 root root 92 Aug 18 18:28 library
drwx------ 1 999 root 532 Aug 18 18:58 postgres
la
total 8.0K
-rwxrwxrwx 1 root root 2.8K Aug 18 18:28 docker-compose.yml
-rwxrwxrwx 1 root root 987 Aug 18 18:28 .env
drwxrwxrwx 1 root root 92 Aug 18 18:28 library
drwx------ 1 999 root 532 Aug 18 18:58 postgres
Android client works as expected, so does external library as a compose volume, only WebUI wont upload. Weird. Changing thread name to webclient problem.
Tempest
Tempest2mo ago
LXCs are not supported due to weird issues (docker is not supported in lxc). Are you able to try a VM instead?
SpanishHans
SpanishHansOP2mo ago
It's the dockge community image for proxmox. It basically handles my Homeserver containers. I could spin a Debian vm if you want me to. Did run into the same issue on baremetal arch tho.
Tempest
Tempest2mo ago
Is it a browser issue? Have you tried a different browser?
SpanishHans
SpanishHansOP2mo ago
Yes. Both chromium based and Firefox.
Tempest
Tempest2mo ago
Bare metal should've been different
SpanishHans
SpanishHansOP2mo ago
Yes. I'm very lost. No clue where the issue could be
Tempest
Tempest2mo ago
Hmm. Is this on windows?
SpanishHans
SpanishHansOP2mo ago
Nope. One machine runs arch on baremetal and the other runs proxmox. They are both on the same network (and therefore same net segment and have no firewalls between them for testing.) and uploading won't work from machine to machine or even on localhost. Android client does work LOL
Tempest
Tempest2mo ago
Any error in logs? Either docker or browser dev tools?
SpanishHans
SpanishHansOP2mo ago
Ah I didn't think about checking logs on browser console. Docker compose logs for all containers don't report anything of interest.
Tempest
Tempest2mo ago
Is the image type different? Based on logs you do see, does it upload or is the upload never triggered?
SpanishHans
SpanishHansOP2mo ago
It's never triggered. Logs only ever show the websocket being initialized for any new connection
Tempest
Tempest2mo ago
If you download an image from immich, delete it & delete it from trash within immich, can you then upload it from the PC? Just to ensure it's not something silly
SpanishHans
SpanishHansOP2mo ago
Yes. But only from Android app or if I mount a volume as an external library Not with upload on webui
Tempest
Tempest2mo ago
I mean to download it on a PC with a web client
SpanishHans
SpanishHansOP2mo ago
Ah yeah deleting and downloading work fine
Tempest
Tempest2mo ago
And then uploading?
SpanishHans
SpanishHansOP2mo ago
Nope
Tempest
Tempest2mo ago
Odd. Is this through a reverse proxy?
SpanishHans
SpanishHansOP2mo ago
Very. I'm pretty sure it's not network related or filesystem related. One system is ext4 and the other is btrfs and don't have any issues with that Did run with and without a reverse proxy (accessing IP and port directly) and same behavior, so don't think is proxy related
Tempest
Tempest2mo ago
For troubleshooting I'd drop the reverse proxy, and use an incognito tab
SpanishHans
SpanishHansOP2mo ago
In the reverse proxy scenario did enable websocket support. I'll try that and also I'll check the logs from the browser console. I did find some errors related to running on nvenc mode and cuda modes. Was digging around and arch seems to not be supported by docker or something of the sort. 580 drivers with a 3070 so it has the dependencies and also did install the package required for docker Nvidia. Don't think it's related, but I'll just throw it in there FYI. Will return with more information when I have done some more debugging.
Tempest
Tempest2mo ago
Fair enough. I'm going to call it a night, perhaps someone with fresh eyes will jump in
SpanishHans
SpanishHansOP2mo ago
No worries. Same here. Thanks for your help.
Mraedis
Mraedis2mo ago
@SpanishHans are you perhappssss... Spanish? 👀
SpanishHans
SpanishHansOP2mo ago
Perhaps hahaha Update: - No logs on the browser. - Upload by drag and drop does work...only the upload button doesnt. FYI, the upload button does open up the upload dialog, it just doesnt do anything. Whats the endpoint for upload with that button? I want to test with curl if its not related maybe to the way that hyprland and or wayland separate and isolate procecess.
Mraedis
Mraedis2mo ago
It starts a file browser dialog I guess that makes sense it could be broken on all browsers if your file browser dialog is broken
SpanishHans
SpanishHansOP2mo ago
I believe that's the issue. After a lot of trial and error I am pretty sure it's just Wayland stuff Sometimes apps allow only drag and drop to their interfaces. Sometimes it's just the upload thing itself and no drag and drop. No idea host to test that tho.

Did you find this page helpful?