Solution: Use NFS -_-’


Hello. I’ve been using hotio’s qbittorent, radarr and sonarr images for a while and I’ve been really happy with it. But A few weeks ago, I started having problems with radarr failing to copy my files to the destination folder. I have qbittorrent on machine A and my video server on machine B (called “orbiter”). I mounted destination folder on machine B to machine A like follow: sudo mount -t cifs //orbiter/Video/ /mnt/OrbiterVideo -o username=root,password=omgstrongpassword,uid=998,gid=100

And added it to fstab: //orbiter/Video /mnt/OrbiterVideo/ cifs username=root,password=omgstrongpassword,iocharset=utf8,noperm,uid=998,gid=100 0 0

Now, here are my docker-compose for qbittorrent and radarr :

QBittorrentVPN

version: "3.7"

services:
  qbittorrent:
    container_name: qbittorrentvpn
    image: cr.hotio.dev/hotio/qbittorrent
    ports:
      - 8992:8992
      - 8118:8118
    environment:
      - WEBUI_PORTS=8992/tcp,8992/udp
      - PUID=998
      - PGID=100
      - UMASK=0022
      - TZ=Europe/Paris
      - VPN_ENABLED=true
      - VPN_LAN_NETWORK=192.168.1.0/24
      - VPN_CONF=wg0
     # - VPN_ADDITIONAL_PORTS
      - VPN_IP_CHECK_DELAY=5
      - PRIVOXY_ENABLED=false
      - DEBUG=yes
    volumes:
      - /srv/path/Files/QBittorrentVPN:/config
      - /srv/path/Files/QBittorrentVPN/downloads:/downloads
      - /srv/path/Files/QBittorrentVPN/skins:/skins
    cap_add:
      - NET_ADMIN
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1
      - net.ipv6.conf.all.disable_ipv6=1
    restart: unless-stopped

Radarr

version: "3.7"

services:
  radarr:
    container_name: radarr
    hostname: Radarr
    image: cr.hotio.dev/hotio/radarr
    ports:
      - "7878:7878"
    environment:
      - PUID=998
      - PGID=100
      - UMASK=002
      - TZ=Europe/Paris
    volumes:
      - /srv/path/Files/Radarr/config:/config
      - /srv/path/Files/QBittorrentVPN/downloads:/downloads
      - /mnt/OrbiterVideo/movies/:/movies
    restart: unless-stopped

Radarr manages to grab and download a movie, but it fails to copy it:

2023-07-21 16:15:59.3|Warn|ImportApprovedMovie|Couldn't import movie /downloads/awesomemovie.mkv

[v4.6.4.7568] System.UnauthorizedAccessException: Access to the path '/movies/awesomemovie' is denied.
 ---> System.IO.IOException: Permission denied
   --- End of inner exception stack trace ---
   at System.IO.FileSystem.CreateDirectory(String fullPath)
   at System.IO.Directory.CreateDirectory(String path)
   at NzbDrone.Common.Disk.DiskProviderBase.CreateFolder(String path) in ./Radarr.Common/Disk/DiskProviderBase.cs:line 189
   at NzbDrone.Core.MediaFiles.MovieFileMovingService.CreateFolder(String directoryName) in ./Radarr.Core/MediaFiles/MovieFileMovingService.cs:line 215
   at NzbDrone.Core.MediaFiles.MovieFileMovingService.EnsureMovieFolder(MovieFile movieFile, Movie movie, String filePath) in ./Radarr.Core/MediaFiles/MovieFileMovingService.cs:line 185
   at NzbDrone.Core.MediaFiles.MovieFileMovingService.EnsureMovieFolder(MovieFile movieFile, LocalMovie localMovie, String filePath) in ./Radarr.Core/MediaFiles/MovieFileMovingService.cs:line 165
   at NzbDrone.Core.MediaFiles.MovieFileMovingService.CopyMovieFile(MovieFile movieFile, LocalMovie localMovie) in ./Radarr.Core/MediaFiles/MovieFileMovingService.cs:line 90
   at NzbDrone.Core.MediaFiles.UpgradeMediaFileService.UpgradeMovieFile(MovieFile movieFile, LocalMovie localMovie, Boolean copyOnly) in ./Radarr.Core/MediaFiles/UpgradeMediaFileService.cs:line 73
   at NzbDrone.Core.MediaFiles.MovieImport.ImportApprovedMovie.Import(List`1 decisions, Boolean newDownload, DownloadClientItem downloadClientItem, ImportMode importMode) in ./Radarr.Core/MediaFiles/MovieImport/ImportApprovedMovie.cs:line 129

It is important to note that I didn’t change anything in my config.

Is there something I am doing wrong here ? I can’t see through this anymore.

  • @cc8
    link
    English
    2
    edit-2
    1 year ago

    Does the ending / intervene maybe?

      - /mnt/OrbiterVideo/movies/:/movies
    

    Is the share mounted?

    Can you browse the mount from source machine?

    Can you browse the share inside the docker container? (–interactive)

    • TiritibambixOP
      link
      fedilink
      English
      51 year ago

      The ending / wasn’t a problem a few weeks back, but I tried to remove it anyway with no luck. The share is mounted and I can browse it from source machine and container.

      • @cc8
        link
        English
        2
        edit-2
        1 year ago

        Have you set the correct chown permissions? ls -al /mnt/OrbiterVideo/movies

        I have a similiar issue on a plex transcode folder that randomly resets permissions.

        • TiritibambixOP
          link
          fedilink
          English
          4
          edit-2
          1 year ago

          Sorry if the question is silly, I’m really not good at this: Permissions are drwxr-xr-x (755).

          Shouldn’t they be drw-rw-rw- (666) or 777 ?

          Other than that, the user:group looks good.

          I can’t seem to manage to change permissions anyway

          • @cc8
            link
            English
            21 year ago

            Can you create files and directories in /movies inside the docker container?

            • TiritibambixOP
              link
              fedilink
              English
              4
              edit-2
              1 year ago

              No. Permission denied.

              Edit: But I can in /config, which is bound to a volume on the host, not the smb

              • @cc8
                link
                English
                21 year ago

                Ok, that means that the issue is slimmed down to the permissions on the mounted smb share. Not docker or radarr which makes it easier to troubleshoot.

                I am not a cifs share black belt though but continue from there :)