dosya.dev with Rclone.
Sync, copy, mount, and share your dosya.dev storage using Rclone. Native backend with server-side operations, multipart uploads, and share links.
Install
go install github.com/dosya-dev/rclone@latest Configure
rclone config create dosya dosya Sync
rclone sync ./files dosya: Get the dosya.dev fork
dosya.dev ships a native rclone backend. Install the fork from
github.com/dosya-dev/rclone
to get the dosya backend type.
# Install the dosya.dev fork of rclone
$ go install github.com/dosya-dev/rclone@latest
# Or build from source
$ git clone https://github.com/dosya-dev/rclone.git
$ cd rclone
$ go build
$ ./rclone version
rclone v1.73.5-dosya Configure with your API key
All you need is your API key and workspace ID. Get both from the dashboard settings.
# Configure with interactive setup
$ rclone config
n/s/q> n
name> dosya
Storage> dosya
api_key> dos_••••••••••••••••
workspace_id> ws_abc123
# Or create directly with one command
$ rclone config create dosya dosya \
api_key dos_your_api_key \
workspace_id ws_abc123
Remote "dosya" created.
# Verify the connection
$ rclone ls dosya:
13313433600 render-final.mp4
47185920 brand-guide.pdf
2097152 assets/logo.png # ~/.config/rclone/rclone.conf
[dosya]
type = dosya
api_key = dos_your_api_key
workspace_id = ws_abc123 Supported features
The native dosya backend supports all core rclone operations with server-side move, copy, and share links.
copy Upload and download files with multipart support for large files (10 MB+ auto-chunked)
sync One-way sync that makes the destination match the source exactly
move Server-side file and directory move — no re-upload needed
mount Mount your workspace as a local filesystem via FUSE
ls / lsd / lsl List files, directories, and detailed file information
tree Recursive directory tree using the folder tree API
mkdir / rmdir Create and remove folders within your workspace
delete / purge Delete files or recursively remove directories
copy (server-side) Duplicate files on the server without downloading and re-uploading
link Generate public share links with optional expiry
about Show storage quota — total, used, and free space based on your plan
size Calculate total size and object count for any path
Upload and download files
Files under 10 MB are uploaded in a single request. Larger files are automatically split into multipart uploads. Server-side copy is supported between paths in the same workspace.
# Upload a single file
$ rclone copy ./render-final.mp4 dosya: -P
Transferred: 12.400 GiB / 12.400 GiB, 100%, 245.0 MiB/s, ETA 0s
Transferred: 1 / 1, 100%
Elapsed time: 51.8s
# Upload an entire folder
$ rclone copy ./project-assets/ dosya:assets/ -P --transfers 8
Transferred: 2.150 GiB / 2.150 GiB, 100%, 180.0 MiB/s, ETA 0s
Transferred: 147 / 147, 100%
Elapsed time: 12.2s
# Download from dosya.dev to local
$ rclone copy dosya: ./backup/ -P
# Server-side copy (no re-upload needed)
$ rclone copyto dosya:render-final.mp4 dosya:archive/render-final.mp4 Keep folders in sync
One-way sync makes the destination identical to the source. Files not present in the source will be deleted from the destination. Always use --dry-run first to preview changes.
# One-way sync: local folder → dosya.dev
$ rclone sync ./local-folder/ dosya: -P
Transferred: 1.200 GiB / 1.200 GiB, 100%, 200.0 MiB/s, ETA 0s
Transferred: 12 / 12, 100%
Deleted: 3 (files), 0 (dirs)
Elapsed time: 6.1s
# Dry run first to preview changes
$ rclone sync ./local-folder/ dosya: --dry-run
# Sync with bandwidth limit
$ rclone sync ./local-folder/ dosya: --bwlimit 50M Mount as a local drive
Access your workspace as a local folder. Open, edit, and save files directly. Requires FUSE (macfuse on macOS, fuse3 on Linux).
# Mount your workspace as a local folder
$ rclone mount dosya: ~/dosya-mount/ --vfs-cache-mode full
The service rclone has been started.
# Now use it like a normal folder
$ ls ~/dosya-mount/
render-final.mp4 brand-guide.pdf assets/
$ cp ~/dosya-mount/brand-guide.pdf ./local-copy.pdf
# Mount in the background (daemon mode)
$ rclone mount dosya: ~/dosya-mount/ --vfs-cache-mode full --daemon
# Unmount
$ fusermount -u ~/dosya-mount/ # Linux
$ umount ~/dosya-mount/ # macOS List and browse files
Use ls, lsd, lsl, and tree to explore your workspace files and folders.
# List files in your workspace
$ rclone ls dosya:
13313433600 render-final.mp4
47185920 brand-guide.pdf
2097152 assets/logo.png
# List directories only
$ rclone lsd dosya:
-1 2026-04-15 10:30:00 -1 assets
-1 2026-04-12 08:15:00 -1 archive
# List with modification times
$ rclone lsl dosya:
13313433600 2026-04-15 10:30:00.000000000 render-final.mp4
47185920 2026-04-14 09:15:00.000000000 brand-guide.pdf
# Recursive tree view
$ rclone tree dosya:
/
├── render-final.mp4
├── brand-guide.pdf
└── assets/
└── logo.png Manage files and folders
Move, rename, and delete files and folders. Move and rename operations are server-side — no re-upload required.
# Create a folder
$ rclone mkdir dosya:new-folder/
# Move a file (server-side, no re-upload)
$ rclone moveto dosya:draft-v1.mp4 dosya:archive/draft-v1.mp4
# Move an entire directory (server-side)
$ rclone move dosya:old-assets/ dosya:archive/old-assets/
# Delete a single file
$ rclone deletefile dosya:draft-v1.mp4
# Delete all files in a folder
$ rclone delete dosya:old-assets/
# Remove folder and all contents
$ rclone purge dosya:old-assets/ Share files with a link
Generate public share links directly from the command line. Supports optional expiry times.
# Generate a public share link
$ rclone link dosya:render-final.mp4
https://dosya.dev/s/xK9m2pQ4
# Share link with expiry (7 days)
$ rclone link dosya:render-final.mp4 --expire 168h
https://dosya.dev/s/rT5n8wL2
Expires: 2026-04-27 Check usage and quota
Monitor your storage quota based on your dosya.dev plan. Calculate workspace sizes with size.
# Check storage usage
$ rclone about dosya:
Total: 100 GiB
Used: 47.2 GiB
Free: 52.8 GiB
# Calculate size of a specific path
$ rclone size dosya:assets/
Total objects: 47
Total size: 14.230 GiB (15277588480 Byte) Automate with cron and systemd
Schedule backups with cron jobs or systemd timers. Rclone only transfers changed files, making scheduled syncs fast.
# Backup every night at 2 AM
$ crontab -e
0 2 * * * rclone sync /home/user/documents/ dosya: --log-file /var/log/rclone-backup.log
# Sync only changed files (faster for large datasets)
0 2 * * * rclone sync /data/ dosya: --transfers 8 --log-file /var/log/rclone.log
# systemd timer example (rclone-backup.service)
[Service]
Type=oneshot
ExecStart=/usr/bin/rclone sync /data/ dosya: --log-level INFO Configuration reference
Config options
api_key | Required | Your dosya.dev API key (from dashboard settings) |
workspace_id | Required | The workspace ID to operate on (e.g. ws_abc123) |
api_url | Optional | Base API URL (default: https://dosya.dev) |
Useful flags
-P, --progress | Show real-time transfer progress |
--dry-run | Preview changes without making them |
--transfers N | Number of parallel file transfers (default: 4) |
--bwlimit RATE | Limit bandwidth (e.g. 10M for 10 MB/s) |
--log-file PATH | Write log output to a file |
--log-level LEVEL | DEBUG, INFO, NOTICE, ERROR (default: NOTICE) |
--retries N | Number of retries on failure (default: 3) |
--filter, --include, --exclude | Filter files by pattern |
Mount flags
--vfs-cache-mode off|minimal|writes|full | VFS cache mode (use 'full' for best experience) |
--vfs-cache-max-size SIZE | Maximum total size of the VFS cache |
--vfs-cache-max-age DURATION | Max age of objects in the cache (default: 1h) |
--daemon | Run mount in the background |
--read-only | Mount as read-only filesystem |
--allow-other | Allow other users to access the mount |
Limitations
| Hash verification | Not supported — files are compared by size and modification time |
| Empty files | Cannot upload empty (0-byte) files |
| SetModTime | Modification time cannot be set on the server |