Hello,
I recently switched over from using local storage to using Animosity's setup of MergerFS for local writes first and a Gsuite drive with Sonarr/Radarr/Bazarr. Sonarr/Radarr and Plex all seem to be working pretty good so far. Upload scripts are working as expected and moving items from the local storage to the Gsuite drive on a daily basis. The only issue I'm having so far is with Bazarr.
Bazarr keeps giving errors about failing to save the subtitle to disk. At first I thought it may be a permissions issue but the Bazarr container is using the same PUID/PGID as Sonarr/Radarr and all the containers have /mnt on the host mapped to /mnt in the container so it's not a Path Mapping issue. I was checking the disk and it shows that the Subs do exist so I thought it was saving the file and falsely generating the error.
Further investigation into the error shows that it was an IO fault,
Traceback (most recent call last):
File "/app/bazarr/bazarr/get_subtitle.py", line 199, in download_subtitle
path_decoder=force_unicode
File "/app/bazarr/bazarr/../libs/subliminal_patch/core.py", line 856, in save_subtitles
f.write(content)
IOError: [Errno 29] Invalid seek
I didn't think there should be an IO fault as according to the MergerFS setup it should write local first and Sonarr/Radarr are not having this issue.
I reviewed the Rclone logs on the docker host and that showed it was trying write directly to the Gsuite drive rather than the local directory. Everything else writes local first so I checked with the Bazarr discord channel and the developer advised that with the underlying Subliminal code, if a sub file is detected for the episode/movie it will open the file and replace the contents with those of the new sub file rather than delete the existing file and write a new file. So this explains why it's trying to write directly to the Gsuite drive. They advised I check over here first as they are still currently working on a fork of the subliminal code where they may be able to change this behavior in the future but not guaranteed.
Is there a way to force the rclone mount to download the SRT file and modify it locally and have it placed in the local directory for later upload by the daily script? Or some other method of forcing it to write local when Bazarr tries to modify the file directly on the Gsuite drive?