А разве есть разница где физически контейнеры работают, если в данном случае по идее важнее где лежат данные, а это видимо в службах (immich-server и immich-microservices) поменять
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
на
volumes:
- ${UPLOAD_LOCATION}:/path/to/you/mountpoint/data ### здесь вставляете путь до нужной папки на харде.
- /etc/localtime:/etc/localtime:ro
А бэкапить конфиг portainer и dockerfile можно вручную, благо часто они вряд ли меняются
UPD: какую я дичь написал про пути... аж стыдно, простите)
Как вариант - проверить что есть права на чтение/запись по всему пути до папки
И внизу в volumes: объявить собственно volume