I
Immich5mo ago
Ricky

Issues with upload to immich server

Hi everyone! I recently had to restore my proxmox server from a backup due to the boot drive failing and ever since i recovered my immich container i'm having trouble uploading media to the server. Here's my current setup: I have truenas installed on proxmox with a folder mounted via smb to the proxmox server. I then pass this mount point through to the immich container Fstab config:
//192.168.1.187/photos /mnt/nas/photos cifs _netdev,x-systemd.automount,noatime,strictsync,uid=0,gid=0,dir_mode=0777,file_mode=0777,username=user,password=password 0 0
//192.168.1.187/photos /mnt/nas/photos cifs _netdev,x-systemd.automount,noatime,strictsync,uid=0,gid=0,dir_mode=0777,file_mode=0777,username=user,password=password 0 0
When i start a backup on my phone, immich server shows these errors in the docker terminal when trying to upload media:
immich_server | [Nest] 23 - 12/11/2024, 6:23:58 AM ERROR [Api:ErrorInterceptor~zu7sjfla] Unknown error: Error: EPERM: operation not permitted, utime 'upload/upload/6bad9d1f-a82d-4e6d-8e5e-42611439c0b0/e2/95/e2950df4-8d94-4751-a7d7-220b8987e9fa.PNG'
immich_server | Error: EPERM: operation not permitted, utime 'upload/upload/6bad9d1f-a82d-4e6d-8e5e-42611439c0b0/e2/95/e2950df4-8d94-4751-a7d7-220b8987e9fa.PNG'
immich_server | at async Object.utimes (node:internal/fs/promises:1128:10)
immich_server | at async AssetMediaService.create (/usr/src/app/dist/services/asset-media.service.js:283:9)
immich_server | at async AssetMediaService.uploadAsset (/usr/src/app/dist/services/asset-media.service.js:102:27)
immich_server | at async AssetMediaController.uploadAsset (/usr/src/app/dist/controllers/asset-media.controller.js:40:29)
immich_server | [Nest] 23 - 12/11/2024, 6:23:58 AM ERROR [Api:ErrorInterceptor~zu7sjfla] Unknown error: Error: EPERM: operation not permitted, utime 'upload/upload/6bad9d1f-a82d-4e6d-8e5e-42611439c0b0/e2/95/e2950df4-8d94-4751-a7d7-220b8987e9fa.PNG'
immich_server | Error: EPERM: operation not permitted, utime 'upload/upload/6bad9d1f-a82d-4e6d-8e5e-42611439c0b0/e2/95/e2950df4-8d94-4751-a7d7-220b8987e9fa.PNG'
immich_server | at async Object.utimes (node:internal/fs/promises:1128:10)
immich_server | at async AssetMediaService.create (/usr/src/app/dist/services/asset-media.service.js:283:9)
immich_server | at async AssetMediaService.uploadAsset (/usr/src/app/dist/services/asset-media.service.js:102:27)
immich_server | at async AssetMediaController.uploadAsset (/usr/src/app/dist/controllers/asset-media.controller.js:40:29)
I'm able to read/write in the lxc and also in the docker container so i dont think it's a permissions issue, but im having trouble debugging this error message. If anyone has any ideas i would really appreciate it!
13 Replies
Immich
Immich5mo ago
:wave: Hey @Ricky, 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:
Ricky
RickyOP5mo ago
compose.yaml:
name: immich
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- 2283:2283
depends_on:
- redis
- database
restart: always
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
redis:
container_name: immich_redis
image: registry.hub.docker.com/library/redis:6.2-alpine@sha256:84882e87b54734154586e5f8abd4dce69fe7311315e2fc6d67c29614c8de2672
restart: always
database:
container_name: immich_postgres
image: registry.hub.docker.com/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
volumes:
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
restart: always
volumes:
model-cache: null
networks: {}
name: immich
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- 2283:2283
depends_on:
- redis
- database
restart: always
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
redis:
container_name: immich_redis
image: registry.hub.docker.com/library/redis:6.2-alpine@sha256:84882e87b54734154586e5f8abd4dce69fe7311315e2fc6d67c29614c8de2672
restart: always
database:
container_name: immich_postgres
image: registry.hub.docker.com/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
volumes:
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
restart: always
volumes:
model-cache: null
networks: {}
.env:
UPLOAD_LOCATION=/mnt/nas/photos
# The location where your database files are stored
DB_DATA_LOCATION=./postgres

# 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
DB_PASSWORD=postgres

# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
UPLOAD_LOCATION=/mnt/nas/photos
# The location where your database files are stored
DB_DATA_LOCATION=./postgres

# 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
DB_PASSWORD=postgres

# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
Zeus
Zeus5mo ago
Hello, are you using LXC? Ah, yes you are. We don’t support LXC and proxmox doesn’t support docker in LXC either Some people here do use it, but we don’t officially provide support Switching to NFS may help You should also consider mounting the share within the LXC instead of on the host with passthrough
Ricky
RickyOP5mo ago
yea my current setup is a bit redundant. do you think the issue is with permissions? also how would you recommend i use immich through proxmox if not through a lxc?
Zeus
Zeus5mo ago
You should make a VM (Debian or Ubuntu is good), install docker, then install immich
Ricky
RickyOP5mo ago
and then i should directly mount the smb server to that vm? would that fix the issue im running into?
Zeus
Zeus5mo ago
I think so. Other people use samba for the storage backend I use NFS but samba should work
Ricky
RickyOP5mo ago
curious, is there a reason why lxc's arent supported but vm's are? My lxc setup was working flawlessly up until last week
Zeus
Zeus5mo ago
Our opinion is that if proxmox goes out of their way to say it’s not a great idea, we aren’t going to use our limited support resources with the super edge cases docker in LXC tends to work and then it catastrophically fails suddenly
Ricky
RickyOP5mo ago
fair enough. so when installing immich on the vm i would basically copy my current docker compose file and everything should work? is there a way to transfer all my configs (users etc.) that i currently have?
Ricky
RickyOP5mo ago
tysm!

Did you find this page helpful?