I've been using a dockerized application with rclone docker volume plugin, with gdrive, for long time. The application indexing, the media files, and detects if there is a change, recognizes file renames, and moves too.
It worked ok in google drive, if i did a re-scan with the application, detected only the changes and updated it in its DB.
Now after i synced everything to other, S3 compatible cloud service (idrive e2), i changed the remote of rclone volume to that. Everything works ok, except that if i do a scan with the application, it detects the file fingerprints are changed, all of them, so does a hash check again.
This wouldn't be a problem once, as the date handling could be different between gdrive and idrive e2. If i scan again, the application shows no change, as it shoult. BUT if i restart the dockerized application, and scan again, again detects fingerprints are changed.
So for some reason, with gdrive remote the file fingerprints remain the same if not changed, but S3 idrive e2 remote, something (probably modtime) changes with every restart of the application.
Docker plugin (rclone:latest) is set like this: docker plugin set rclone args="--buffer-size=256M --vfs-fast-fingerprint -v"
but i've also tried the S3 remote with
docker plugin set rclone args="--buffer-size=256M --no-modtime --fast-list -v"
and
docker plugin set rclone args="--buffer-size=256M --use-server-modtime --fast-list -v"
but no difference.
Now after a lots of fiddling, i checked the volume creation section in the docker-compose for the app:
This was the original:
volumes:
jivol:
driver: rclone
driver_opts:
remote: 'gdriveremote:things'
allow_other: 'true'
dir-cache-time: '12h'
no-modtime: 'true'
vfs-cache-mode: 'full'
vfs-read-chunk-size: '16Mi'
this was after migrating, and with the fingerprinting problem above:
volumes:
jivol:
driver: rclone
driver_opts:
remote: 'e2remote:things'
allow_other: 'true'
dir-cache-time: '12h'
no-modtime: 'true'
vfs-cache-mode: 'full'
vfs-read-chunk-size: '16Mi'
So tried to comment out no-modtime: 'true'
option, and then it works! Still detects change in fingerprint, but only the first time, not matter if i restart the container.
Seems to be strange, and not self-explanatory how to solve such problem. --no-modtime option behaves differently