Lewati ke konten
Client Panel

Mount Neva Objects S3 with Rclone

Konten ini belum tersedia dalam bahasa Anda.

Artikel ini belum diterjemahkan. Isi berikut berbahasa Inggris. Buka versi asli bahasa Inggris.

General-purpose S3 mount for Neva Objects using Rclone + FUSE. Works as a local filesystem bridge: any app that writes to /mnt/neva-s3 transparently uploads to your bucket.

Terminal window
# FUSE3 (required for mount)
sudo dnf install fuse3 -y
# Rclone via official install script
sudo -v ; curl https://rclone.org/install.sh | sudo bash

For Debian/Ubuntu: replace dnf with apt.

Terminal window
mkdir -p ~/.config/rclone

~/.config/rclone/rclone.conf (or /root/.config/rclone/rclone.conf for systemd):

[neva-s3]
type = s3
provider = Other
access_key_id = YOUR_ACCESS_KEY
secret_access_key = YOUR_SECRET_KEY
endpoint = https://s3.nevaobjects.id
force_path_style = true
v2_auth = true

v2_auth = true is mandatory. Neva Objects routes through a reverse proxy/gateway, and without v2 signing the signature hash breaks, causing 403 errors.

Terminal window
sudo mkdir -p /mnt/neva-s3

/etc/systemd/system/rclone-neva-s3.service:

[Unit]
Description=Rclone Mount: Neva Objects S3
After=network-online.target
[Service]
Type=simple
ExecStartPre=/bin/mkdir -p /mnt/neva-s3
ExecStart=/usr/bin/rclone mount neva-s3:YOUR-BUCKET-NAME /mnt/neva-s3 \
--config /root/.config/rclone/rclone.conf \
--allow-other \
--vfs-cache-mode full \
--vfs-cache-max-size 10G
ExecStop=/usr/bin/fusermount3 -uz /mnt/neva-s3
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target

--vfs-cache-mode full buffers writes on local disk/memory before uploading. This is what makes apps that need POSIX locking (Borg, SQLite, any tool creating .lock files) work: the lock file lives in cache, not on S3 directly.

--vfs-cache-max-size 10G tunes the cache ceiling to your available disk space. The cache dir defaults to ~/.cache/rclone.

Terminal window
sudo systemctl daemon-reload
sudo systemctl enable --now rclone-neva-s3.service
sudo systemctl status rclone-neva-s3.service # should show "active (running)"
Terminal window
ls /mnt/neva-s3
echo "hello neva" | sudo tee /mnt/neva-s3/test.txt
cat /mnt/neva-s3/test.txt

If ls shows your bucket contents and the test file writes successfully, you’re done. Any application can now read/write /mnt/neva-s3 as if it were a local directory: Rclone handles the upload/download in the background.

SymptomFix
403 Forbidden on mountVerify v2_auth = true is set in rclone.conf
”Transport endpoint not connected”sudo fusermount3 -uz /mnt/neva-s3 then restart the service
Mount works but writes are slowIncrease --vfs-cache-max-size or use --vfs-write-back 5m for batching
Permission denied for non-root--allow-other is set; also check /etc/fuse.conf has user_allow_other uncommented
Terminal window
rclone mount neva-s3:YOUR-BUCKET-NAME /mnt/neva-s3 \
--vfs-cache-mode full \
--daemon

The --daemon flag backgrounds it. Use fusermount3 -u /mnt/neva-s3 to unmount.