Multiple SMB automount paths for Rclone in Ubuntu

What is the problem you are having with rclone?

What is the best way to mount to multiple remotes that can be then used as paths for Docker? For example, something like the following mount points:

mnt/smb_share/downloads >> NAS share (//Server/Downloads)
mnt/smb_share/video >> NAS share (//Server/My Videos)
mnt/smb_share/backup >> NAS share (//Server/Backup)
mnt/smb_share/backup_storj >> Storj or other S3 Backup

If I create a single mount to point to //Server, then any paths with a space (e.g. 'My Videos' doesn't work with my docker containers and fail to resolve. So multiple paths seem to be the way to work around this.

Run the command 'rclone version' and share the full output of the command.

  • os/version: ubuntu 24.04 (64 bit)
  • os/kernel: 6.8.8-2-pve (x86_64)
  • os/type: linux
  • os/arch: amd64
  • go/version: go1.22.4
  • go/linking: static
  • go/tags: none

Which cloud storage system are you using? (eg Google Drive)

Storj

Please run 'rclone config redacted' and share the full output. If you get command not found, please make sure to update rclone.

[smb_share]
type = smb
host = 192.168.10.77
user = docker
pass = qABCBpv00pe6cZ6laAhtRpxXUz8Jq3Okckfyqx
idle_timeout = 0s

And below is the rclone-smb_share.service I setup in the path: /etc/systemd/system/ . This works fine to mount a single path and gets me to //Server. However, as mentioned above, paths with a space don't play nice with docker.

[Unit]
Description=Rclone SMB
Wants=network-online.target
After=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/rclone mount smb_share: /mnt/smb_share \
#--read-only \
--config /home/dockeruser/docker/appdata/rclone/rclone.conf \
--log-file=/home/dockeruser/docker/logs/Docker/rclone-smb_share.log \
--log-level NOTICE \
--allow-other \
--no-modtime \
--umask 002 \
--user-agent Docker \
--dir-cache-time 24h \
--buffer-size 128M \
--vfs-fast-fingerprint \
--vfs-cache-mode full \
--vfs-cache-max-age 336h \
--cache-dir=/media/cache \
--vfs-cache-max-size 256G \
--vfs-read-chunk-size-limit 10G \
--vfs-refresh \
#--rc \
#--rc-web-gui \
#--rc-addr :5572 \
#--rc-web-gui-no-open-browser \
#--rc-no-auth \
#--rc-user= \
#--rc-pass= \
--use-mmap
ExecStop=/bin/fusermount -uz /mnt/smb_share
#ExecStartPost=/usr/bin/rclone rc vfs/refresh recursive=true --rc-addr :5572 _async=true
Restart=on-abort
User=dockeruser
Group=dockeruser
KillMode=mixed
RestartSec=5

[Install]
WantedBy=default.target

Would the answer here be to add a remote for each path and then add a seperate service for each remote that will auto-mount when ubuntu starts?

welcome to the forum,

might be able to create a single remote to be use by a single service
check out https://rclone.org/combine/

So would using "combine" then end up giving me the following?

$ rclone tree combined:
/
├── mnt/smb_share/downloads 
│   ├── file1.txt
│   └── file2.txt
└── mnt/smb_share/video
    ├── image1.jpg
    └── image2.jpg
└── mnt/smb_share/backup
    ├── image1.jpg
    └── image2.jpg
└── mnt/smb_share/backup_storj
    ├── image1.jpg
    └── image2.jpg

Or would I have a single path with all of the files combined under a single directory? The latter wouldn't work for me. Otherwise, if I could have 4 top-level folders (downloads, video, backup, and backup_storj), that should work.

Nothing will be combined under a single directory:) I suggest you try to create simple combine remote and you will immediately see how it work

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.