Unable to save settings - modifying storage template
When I try to change the "TEMPLATE" in "Storage Template" there's an error that says "Unable to save settings", would appreciate any help
I'm using an admin user (it's the only one)
SO: Umbrel OS 0.5.4
Immich version 1.75.2

83 Replies
What do the server logs say?
is this one?
That's from the mobile app
I need the logs from the docker container
I guess is this one
https://pastebin.com/E8sduTBV
Pastebin
log immich - Pastebin.com
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
Hmm, no errors in there, strange 🤔
maybe it doesn't go through Umbrel?
Where can I find that config file? I was thinking in changing the reading/writting permissions on it and its containing folder
By default there is none. You can create one wherever you like, as long as it is accessible from the container. The path must be specified as an env variable in your .env: https://docs.immich.app/docs/install/config-file#step-2---specify-the-file-location
Though, I'd assume your issue is not related to the config file if you haven't done anything with it before.
Config File | Immich
A config file can be provided as an alternative to the UI configuration.
If the config settings are set using the UI, the preferences will be stored in the database. Hence, it is unlikely it has something to do with read/write permissions on files or folders, unless your entire postgres instance has issues.
Check database logs in that case
I don't think the database logs will help here since immich does not seem to complain (see logs above), which it definitely would if the database is broken.
interestingly it seems that also due to the lack of https I can't copy the config, anyway I could export as .json and I'll try to specify the path for the config file

Well yes, that is indeed a limitation of JS. But it makes sense, since you don't want any arbitrary site to paste stuff to your clipboard. (Yes, I know, one time permission would be neat...)
SSL certs are pretty cheap now days for bad actors too
I’m pretty sure clipboard copy can only be done through a user click
It's not about getting a certificate for your site, it's about trying to pose as someone you ain't. Also, the clipboard object is just a regular JS object available in the default context. So nope, it can also be accessed without a click. (e.g. sites that do auto fill for your 2FA codes)
I've tried this, and even after pointing to a new config file it doesn't seem to work, in the server the preferences are still the same and cannot be changed
I think it might be some problem with Umbrel OS
Have you recreated the containers when changing the .env, creating a variable pointing to a config file?
So not just restart but actually recreate (
docker compose up -d
should normally do the trick, if not add a --force-recreate
)I'll try later and let you know, I haven't done that
I've tried but I might be doing something wrong, it says 'no configuration file provided: not found'
I've also tried setting up full permissions (777) to the immich folder and recursively, but even with full permission I still can't change it, I think it's a problem of Umbrel OS itself, not Immich probably
Where have you put your configuration file?
/home/umbrel/umbrel/app-data/immich/immich-config.json
Where are your
.env
and docker-compose.yml
files located? (relative to the immich/ folder)/home/umbrel/umbrel
You have
/home/umbrel/app-data/immich/home/umbrel/umbrel/.env
?/home/umbrel/umbrel/.env
So the .env file is outside your immich folder?
Could you post your
docker-compose.yml
?But this is not your Immich
docker-compose.yml
, right?
How did you install Immich on Umbrel? Is it a package or something?
Like with an UI?ups, sorry
https://pastebin.com/yH5xfiL8
Oh when you set your environment variables directly in your
docker-compose.yml
you shouldn't need the .env
file in the first place.
Also, try to eradicate all confidential data such as passwords or keys before posting config files ;)
Where is this docker-compose.yml
located?
Did you change the mount point to ${APP_DATA_DIR}
yourself? If so, what is APP_DATA_DIR
set to?/home/umbrel/umbrel/app-data/immich
I didn't
In your
docker-compose.yml
should be a mounted volume ('volumes') under the immich_server container. Could you share this line again, since it appears you have deleted the pastebin?volumes:
- ${APP_DATA_DIR}/data/upload:/usr/src/app/upload
Ok, is inside
/home/umbrel/umbrel/app-data/immich
a folder data?yes, there's one, and inside of it there's "model-cache", "postgres", "redis", "tsdata", and "upload"
Perfect, so I think I get what the umbrel image is doing.
Could you try the following:
1. move your config file to that data folder within
/home/umbrel/umbrel/app-data/immich
2. add ${APP_DATA_DIR}/data:/usr/src/app
to the existing volumes (also with a '-', basically same line, just with a slightly different path
3. I remember that there was some sort of environment variables at the top of the docker compose file. Could you, in the same format, add the env variable for the config file, while the path for the config file would be ./FILE NAME
(FILE NAME replaced by the actual name). If you're not certain how to do this you could share some of those lines at the top of your docker compose file again and we can have a look at it together
4. run docker compose up -d
while in /home/umbrel/umbrel/app-data/immich
Of course for any issues during the process I am here to help :)this would be the modified file if I'm not mistaken
https://pastebin.com/F1JdKauP
Close ;)
It appears they use another syntax. When looking at the other values, there should be a colon instead, so
IMMICH_CONFIG_FILE: "./immich-config.json"
(also: as mentioned above, only the file name is necessary, not the entire path)oh okok
Furthermore, l. 33 is not needed. You only need the line with the '-' in front
umbrel@umbrel:~/umbrel/app-data/immich $ docker compose up -d
WARN[0000] The "APP_SEED" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_DATA_DIR" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_SEED" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_DATA_DIR" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_SEED" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_DATA_DIR" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_DATA_DIR" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_DATA_DIR" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_SEED" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_DATA_DIR" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_DATA_DIR" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_SEED" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_SEED" variable is not set. Defaulting to a blank string.
service "app_proxy" has neither an image nor a build context specified: invalid compose project
Hm... apparently umbrel does not like that you start the docker images yourself.
How do you normally restart containers? Is there some GUI?
I can try restarting Umbrel itself maybe
Unfortunately I have no experience with umbrel at all. Is there some sort of dashboard for each app?
no, it has a dashboard for all of them, is not that I can switch off or on just one app
Ok so there should be a file in
/home/umbrel/umbrel/scripts
called app
Could you verify that?yes there's one
So could you go into that directory and then run
./app restart immich
?I'm already trying to restart Umbrel 😅
Oh, that might work as well
If not I'd try that
https://pastebin.com/B4GbSCcP
and so far I'm getting an error 500
"500 getaddrinfo ENOTFOUND immich_server_1"
This looks somewhat promising...?
That should be normal while immich is starting... Just give it a moment
it's taking way more than the normal 😦
Still not there?
Could you go to
/home/umbrel/umbrel/app-data/immich
and then run docker compose logs immich_server
?docker compose logs immich_server
WARN[0000] The "APP_SEED" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_DATA_DIR" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_SEED" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_SEED" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_DATA_DIR" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_SEED" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_DATA_DIR" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_DATA_DIR" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_DATA_DIR" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_SEED" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_DATA_DIR" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_SEED" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_DATA_DIR" variable is not set. Defaulting to a blank string.
service "app_proxy" has neither an image nor a build context specified: invalid compose project
Oh no still the same issues
I tried to talk to someone from Umbrel but I got no answer so far
Ok so other than the changes I told you to do you haven't changed anything else right?
nothing else
Could you revert the changes to the docker compose file and try again?
it seems to be working, now I have another error 500 "connect ECONNREFUSED 10.21.0.37:3001" this is the one that I used to have when it was openning, I'll wait a couple of seconds
all back to normal now
Hm ok
So let's adapt the changes slowly in order to try to find the issue
Could you first add the volume mapping again?
So that one
- ${APP_DATA_DIR}/data:/usr/src/app
I did it, now I'm restarting it
again the bad error 500 "getaddrinfo ENOTFOUND immich_server_1", I'll wait but it's not the normal one this time
What do the logs say?
The immich server logs
umbrel@umbrel:~/umbrel/scripts $ cd /home/umbrel/umbrel/app-data/immich
umbrel@umbrel:~/umbrel/app-data/immich $ docker compose logs immich_server
WARN[0000] The "APP_SEED" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_DATA_DIR" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_SEED" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_DATA_DIR" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_DATA_DIR" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_SEED" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_DATA_DIR" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_SEED" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_DATA_DIR" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_SEED" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_DATA_DIR" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_DATA_DIR" variable is not set. Defaulting to a blank string.
WARN[0000] The "APP_SEED" variable is not set. Defaulting to a blank string.
service "app_proxy" has neither an image nor a build context specified: invalid compose project
Ok, so apparently umbrel doesn't like own folder mappings...
Could you provide the 'volumes' lines again, just to sanity check?
server:
image: ghcr.io/immich-app/immich-server:v1.77.0@blablabla
command: [ "start.sh", "immich" ]
volumes:
- ${APP_DATA_DIR}/data/upload:/usr/src/app/upload
- ${APP_DATA_DIR}/data:/usr/src/app
environment:
<<: *env
depends_on:
- redis
- postgres
- typesense
restart: on-failure
that's with the modification already done
Could you wrap it in a code block, so that discord doesn't format it?
You can do this using 3 backticks ` at the start at the end
I can't show you because discord formats it all the time
This works as well xD
I'm not a big user of Discord hahaha
But now you've got the env variable as well, right?
I removed it, that was just to show you
Ah I see
But the volume was exactly like it was in the pastebin?
yes, exactly the same
Could you try using
/home/umbrel/umbrel/app-data/immich
instead of ${APP_DATA_DIR}
?
Just for the line you've added- /home/umbrel/umbrel/app-data/immich/data:/usr/src/app
like that?
*it's a "-"
Yep!
still the same "error 500: getaddrinfo ENOTFOUND immich_server_1"
Hm, that is really strange...
Actually, I'm also stuck right now...
Pinging @Alex because I think you publish the Umbrel app? Do you have any idea why Umbrel doesn't let you mount custom paths?
We don't have anything to do with Umbrel, and no clue about it either 😅
Oh, the app owner in the umbrel store was Alex, so I was just guessing...
Sorry then
All good!
Too many Alex 😅
🥲
It seems that this has been solved 😄