I’ve been running seafile CE for years in binary for me and my family. But I just “upgraded” to docker then to seafile 13.
I always hated docker because I find it scary and very hard to debug, seems like a black box to me.
Before that migration I had my seafile-data under /data/seafile-data (where /data is a partition linked to my hdd raid array). And my seafile system under /opt/seafile.
A symlink in /opt/seafile/seafile-data was linked to /data/seafile-data.
In the migration I tried to simplified the thing and since I can only give a single path in the .env file I guess I don’t really have a choice.
So here I come, is it worth it to separate the data itself (blocks) on HDD, and config and indexes on my main NVMe ?
If yes, how to do it properly without breaking docker . Can a symlink still work inside a docker, should it point the destination inside the container (/shared..) or the destination on the host (/data..)
I hate the block box nature of docker too, and the running even more stuff as root, and several other aspects of docker. You might be interrested in this post I made about how I switched to the docker version, but running in podman instead of docker.
And for splitting your data up to put some on the HDD and some on the NVME, I think this can work. Docker can be weird with links, so rather than using a link, I would suggest defining a different path as a mount point. I think it would look something like this:
Okay so basically I should have a README file next to the compose file to know what did I modified. Hopefully I did the 12 to 13 update just after the migration from standalone to docker. But if I hadn’t done it like this I just wouldn’t remind it what I changed in the compose file that needs to be overwritten on each update.. The whole caddy disable stuff, the whole mysql disabling too..
Well.. I still think I will do this trick if I find the whole thing too slow.