STOP and READ USE THIS TEMPLATE NO EXCEPTIONS - By not using this, you waste your time, our time and really hate puppies. Please remove these two lines and that will confirm you have read them.
What is the problem you are having with rclone?
Unable to use docker rclone to mount anything. I always get permission denied even as root with privileged containers. I tried with root and user. I confirmed FUSE is on my system. I have gnome with ubuntu so I believe it's fuse3, I think, not sure.
I confirmed the credentials for GCP are correct as I am able to ls
the bucket contents just fine. I just can't mount.
Here is my docker compose
services:
rclone:
image: rclone/rclone:latest
container_name: rclone
restart: no
tty: true
stdin_open: true
privileged: true # this didn't do anything for me
user: 1000:1000 # also tried without this as root
environment:
RCLONE_GCS_SERVICE_ACCOUNT_CREDENTIALS: $RCLONE_GCS_SERVICE_ACCOUNT_CREDENTIALS
entrypoint:
- /bin/sh
- -c
command:
- tail -f /dev/null
volumes:
- ./config:/config/rclone:Z
- ./data:/data:shared
- /etc/fuse.conf:/etc/fuse.conf:ro
- /etc/passwd:/etc/passwd:ro
- /etc/group:/etc/group:ro
devices:
- /dev/fuse:/dev/fuse:rwm
security_opt:
- apparmor:unconfined
cap_add:
- SYS_ADMIN
Here is my fuse conf
# The file /etc/fuse.conf allows for the following parameters:
#
# user_allow_other - Using the allow_other mount option works fine as root, in
# order to have it work as user you need user_allow_other in /etc/fuse.conf as
# well. (This option allows users to use the allow_other option.) You need
# allow_other if you want users other than the owner to access a mounted fuse.
# This option must appear on a line by itself. There is no value, just the
# presence of the option.
user_allow_other
# mount_max = n - this option sets the maximum number of mounts.
# Currently (2014) it must be typed exactly as shown
# (with a single space before and after the equals sign).
#mount_max = 1000
What can I possibly be missing? I followed the docs exactly.
Run the command 'rclone version' and share the full output of the command.
- os/version: alpine 3.22.0 (64 bit)
- os/kernel: 6.14.0-24-generic (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.24.5
- go/linking: static
- go/tags: none
Host OS: Ubuntu 25
Which cloud storage system are you using? (eg Google Drive)
GCS
The command you were trying to run (eg rclone copy /tmp remote:tmp
)
rclone mount gcs:my-cool-bucket ./backups --allow-other --vfs-cache-mode full --cache-dir=/data/cache1
Please run 'rclone config redacted' and share the full output. If you get command not found, please make sure to update rclone.
[gcs]
type = google cloud storage
project_number = XXX
location = us-west3
storage_class = NEARLINE
env_auth = true
A log from the command that you were trying to run with the -vv
flag
2025/07/31 14:51:03 DEBUG : Setting --gcs-service-account-credentials "...my gcp sa key file content..."
2025/07/31 14:51:03 DEBUG : rclone: Version "v1.70.3" starting with parameters ["rclone" "mount" "gcs:my-cool-bucket" "./backups" "--allow-other" "--vfs-cache-mode" "full" "--cache-dir=/data/cache1" "-vv"]
2025/07/31 14:51:03 DEBUG : Creating backend with remote "gcs:my-cool-bucket"
2025/07/31 14:51:03 DEBUG : Using config file from "/config/rclone/rclone.conf"
2025/07/31 14:51:03 DEBUG : gcs: detected overridden config - adding "{Ja9Yn}" suffix to name
2025/07/31 14:51:03 DEBUG : fs cache: renaming cache item "gcs:my-cool-bucket" to be canonical "gcs{Ja9Yn}:my-cool-bucket"
2025/07/31 14:51:03 INFO : GCS bucket my-cool-bucket: poll-interval is not supported by this remote
2025/07/31 14:51:03 DEBUG : GCS bucket my-cool-bucket: vfs cache: root is "/data/cache1"
2025/07/31 14:51:03 DEBUG : GCS bucket my-cool-bucket: vfs cache: data root is "/data/cache1/vfs/gcs{Ja9Yn}/my-cool-bucket"
2025/07/31 14:51:03 DEBUG : GCS bucket my-cool-bucket: vfs cache: metadata root is "/data/cache1/vfsMeta/gcs{Ja9Yn}/my-cool-bucket"
2025/07/31 14:51:03 DEBUG : Creating backend with remote ":local,encoding='Slash,Dot',links=false:/data/cache1/vfs/gcs{Ja9Yn}/my-cool-bucket"
2025/07/31 14:51:03 DEBUG : :local: detected overridden config - adding "{8un-i}" suffix to name
2025/07/31 14:51:03 DEBUG : fs cache: renaming cache item ":local,encoding='Slash,Dot',links=false:/data/cache1/vfs/gcs{Ja9Yn}/my-cool-bucket" to be canonical ":local{8un-i}:/data/cache1/vfs/gcs{Ja9Yn}/my-cool-bucket"
2025/07/31 14:51:03 DEBUG : Creating backend with remote ":local,encoding='Slash,Dot',links=false:/data/cache1/vfsMeta/gcs{Ja9Yn}/my-cool-bucket"
2025/07/31 14:51:03 DEBUG : :local: detected overridden config - adding "{8un-i}" suffix to name
2025/07/31 14:51:03 DEBUG : fs cache: renaming cache item ":local,encoding='Slash,Dot',links=false:/data/cache1/vfsMeta/gcs{Ja9Yn}/my-cool-bucket" to be canonical ":local{8un-i}:/data/cache1/vfsMeta/gcs{Ja9Yn}/my-cool-bucket"
2025/07/31 14:51:03 INFO : GCS bucket my-cool-bucket: vfs cache: cleaned: objects 0 (was 0) in use 0, to upload 0, uploading 0, total size 0 (was 0)
2025/07/31 14:51:03 DEBUG : GCS bucket my-cool-bucket: Mounting on "./backups"
2025/07/31 14:51:03 NOTICE: mount helper error: fusermount3: mount failed: Permission denied
2025/07/31 14:51:03 CRITICAL: Fatal error: failed to mount FUSE fs: fusermount: exit status 1