Your ML model cache volume is getting blown up during restart and the model is being re-downloaded during the first search post-restart. Either set it to a path somewhere on your storage, or ensure you’re not blowing up the dynamic volume upon restart.
In my case I changed this:
immich-machine-learning:
...
volumes:
- model-cache:/cache
To that:
immich-machine-learning:
...
volumes:
- ./cache:/cache
I no longer have to wait uncomfortably long when I’m trying to show off Smart Search to a friend, or just need a meme pronto.
That’ll be all.
That seems like a bad idea
As other stated it’s not a bad way of managing volumes. In my scenario I store all volumes in a
/config
folder.For example on my SearXNG instance I have a volume like such:
services: searxng: … volumes: - ./config/searx:/etc/searxng:rw
This makes the files for SearXNG two folders away. I also store these in the
/home/YourUser
directory so docker avoids needing sudoers access.So why would you not write out the full path? I frequently rerun compose commands from various places, if I’m troubleshooting an issue.
The other day my raspberry pi decided it didn’t want to boot up, I guess it didn’t like being hosted on an SD card anymore, so I backed up my
compose
folder and reinstalled Rasp Pi OS under a different username than my last install.If I specified the full path on every container it would be annoying to have to redo them if I decided I want to move to another directory/drive or change my username.
I’d just do it with a simple search and replace. Have done. I feel like relative paths leave too much room for human error.
Its convenient because your data is stored in the same folder that your docker-compose.yaml file is in, making backups or migrations simpler.
Yup. Everything is in one place and there’s no hardcoded paths outside of the work dir making it trivial to move across storage or even machines.
It’s not.