Windows · Linux · NAS · Docker

On the machine that stays on

Here the CloudDrive2 core runs as a background service. It connects all of your cloud accounts, mounts them as local disks, serves a management interface in your browser, and is itself a WebDAV server. The apps on your phone, TV and headset carry the same core and stand on their own — and when you want them to, they can connect to this machine as another provider.

This page is about CloudDrive2 Core — the original CloudDrive2, still under active development.

On Windows? There is a native desktop app now, with the full interface and drive-letter mounting — see CloudDrive2 for Windows.

  • Local mounting
  • Web UI on :19798
  • WebDAV server
  • Docker · NAS
  • Windows · Linux · macOS

Local mounting

Mount every cloud as a local disk

Once mounted, a cloud drive is just a drive. Any program — an office suite, a video editor, Emby, Plex — reads it the way it reads a local file. Nothing has to be downloaded first.

Several clouds can be merged into one directory tree, or mounted as separate drives, and you can mount a single folder from a cloud instead of the whole thing. Reads use multiple threads, so with enough bandwidth it feels close to a local disk.

Writes are genuinely random-access: change a stretch in the middle without pulling the whole file down first — CloudDrive2 streams the untouched ranges from the cloud, splices in what you wrote, and uploads the result. Metadata cache lifetime is set per folder, so you decide the balance between freshness and request volume.

What you get is a real file system too: full POSIX semantics on Linux and macOS, with permission bits, owner and group, timestamps and extended attributes (xattr); and full security descriptor support on Windows, so ACLs read and write normally. Those attributes are persisted locally, so it does not matter that the cloud cannot store them.

  • Multi-threaded reads
  • Genuine random writes
  • Full POSIX semantics
  • Windows security descriptors
  • Per-folder cache lifetime

How local mounting works

  • Unified mounting

    Combine several cloud accounts into one filesystem, and moving a file between clouds becomes an ordinary copy and paste.

  • File change notifications

    Changes on a mounted drive raise real filesystem events, so library watchers in Emby, Jellyfin and Plex keep working. Changes made through the web UI, WebDAV or offline downloads raise them too.

  • Access monitoring and permissions

    See which process is reading which file and how fast it is downloading, and allow or block access per program.

  • Encrypted folders

    Create encrypted folders in any cloud or local directory. Filenames use AES, contents use chacha20-poly1305, and the password stays on the machine. Unlocked, they behave like any other folder.

Linux needs a kernel with FUSE (check for /dev/fuse); macOS needs macFUSE installed first; Android without root cannot mount a local filesystem, though everything else still works.

Web UI

The browser is the console

There is no separate desktop client to install. Open a browser and everything — setup and daily use — happens on one page.

http://localhost:19798        # on the machine itself
http://<host>:19798           # from anything else on the network

There is an HTTPS port too, 19799, off by default — turn it on and configure a certificate under Settings. The core inside the phone, tablet, TV and headset apps listens on 29798 instead, so running both on one machine causes no port conflict.

  • Cloud accounts

    Add, authorise and remove accounts — Aliyun Drive, Baidu Pan, 115, Tianyi, 123 Pan, OneDrive, Google Drive, Xunlei, WebDAV and local folders are all in the list.

  • File management

    Create folders, rename, delete, move, upload local files and copy between clouds, without switching between each provider's own client.

  • Playback and preview

    Play video, audio and images in the browser, or hand a file to PotPlayer, VLC, Infuse, IINA or nPlayer.

  • Everything else

    Mount points, backup jobs, the transfer queue, WebDAV settings and API tokens all live in the same interface.

The web UI is the only console this service has: the desktop shortcut on Windows opens it, and on a NAS or in Docker, where there is no graphical desktop at all, it is still the same page.

The CloudDrive2 apps on phones, tablets, TVs and headsets connect to the same service, so a setting changed in one place shows up everywhere.

The interface is a WebAssembly application, and a browser without WebAssembly support shows a blank page. Any recent Edge, Chrome, Safari or Firefox on a computer works, as do the mainstream mobile browsers; Internet Explorer does not, and neither do most browsers built into TVs and set-top boxes.

One place for every cloud

WebDAV

A WebDAV server of its own

CloudDrive2 re-serves your combined cloud storage over WebDAV. Map Network Drive on Windows, Connect to Server on macOS, an office suite, an editing app, a player on a TV box — anything that speaks WebDAV can reach it.

Server     http://<host>:19798/dav
Username   your CloudDrive2 account email (or just the part before the @)
Password   your CloudDrive2 account password
  • Service switch

    Turn the WebDAV service on or off whenever you want.

  • Account access

    Allow or block access with your CloudDrive2 account, and set which folder is the root and whether it is read-only.

  • Anonymous access

    Allow or block anonymous access, with its own root folder and its own permissions.

  • Separate WebDAV users

    Create as many standalone users as you need, each with its own root folder and read-only flag, so family and colleagues get their own view. This is a membership feature — see plans and pricing.

More about the WebDAV server

Docker · NAS

Living on the NAS

The image is cloudnas/clouddrive2, built for amd64, arm64 and armv7. Once it is running, open http://<host>:19798 in a browser to configure it.

Mounts made inside the container have to propagate back to the host, which means that host directory's mount propagation has to be shared. FUSE depends on it, and without it mounting fails with "permission denied" — the step people miss. Plenty of systems ship with it on, though (LibreELEC, CoreELEC and fnOS among them), so check before changing anything.

Docker Compose
services:
  cloudnas:
    image: cloudnas/clouddrive2
    container_name: clouddrive2
    environment:
      - TZ=Asia/Shanghai
      - CLOUDDRIVE_HOME=/Config
    volumes:
      - <path to accept cloud mounts>:/CloudNAS:shared
      - <path to app data>:/Config
      - <other local shared path>:/media:shared
    devices:
      - /dev/fuse:/dev/fuse
    restart: unless-stopped
    pid: "host"
    privileged: true
    network_mode: "host"
Checking, and enabling it if it is off

When Docker runs as a systemd service, give it MountFlags=shared:

sudo mkdir -p /etc/systemd/system/docker.service.d/
sudo tee /etc/systemd/system/docker.service.d/clear_mount_propagation_flags.conf <<EOF
[Service]
MountFlags=shared
EOF
sudo systemctl restart docker.service

If it does not run under systemd, mark the mount point holding your target directory as shared. Replace /path/to/dir with the directory you intend to give the container:

sudo mount --make-shared $(df -P /path/to/dir | tail -1 | awk '{ print $6 }')

mount --make-shared only lasts until the next reboot. If CloudDrive should start automatically, add this command to your startup scripts as well.

Ready-made NAS packages

Synology and QNAP have third-party packages, Unraid has a community template, and fnOS installs from an fpk package for your architecture. Any NAS that can run Docker can also just run the image above.

  • Synology
  • QNAP
  • Unraid
  • fnOS

The NAS packages come from third parties, and we cannot vouch for their security or stability. Take images and installers from official channels.

Ports and paths

  • Port 19798
  • /Config for app data
  • /CloudNAS:shared for mounts
  • /dev/fuse

Every flag explained, the plain CLI version and the usual problems are in the deployment guide.

Docker deployment guide

Headless Linux

A machine with no desktop is fine

The service needs no graphical environment. Download the archive for your architecture, unpack it, run it, and connect from a browser on any other machine.

tar zxvf clouddrive-2-linux-$ARCH-$VERSION.tgz
cd clouddrive-2-linux-$ARCH-$VERSION
./clouddrive
  • Check the kernel has FUSE

    Look for /dev/fuse. Without FUSE you cannot mount local directories, but the web UI, backups and the WebDAV server still work.

  • Running as a non-root user

    Install fuse3 the way your distribution expects, confirm fusermount3 runs, then edit /etc/fuse.conf and remove the # in front of user_allow_other.

  • Starting at boot

    Add clouddrive to your startup items or register it as a systemd service; your distribution's documentation has the details.

  • Arch Linux

    There is an AUR package: yay -Syu clouddrive, then systemctl enable --now clouddrive.service to start it — or the same command with --user to run it as your own user.

Install steps for each platform

Platforms

Supported systems and architectures

Platform Architectures Notes
Windows x64 · Arm64 Installer; a desktop shortcut opens localhost:19798
Linux x86_64 · aarch64 · armv7 tgz archive; Arch Linux and derivatives also have an AUR package
macOS x86_64 · aarch64 Homebrew is the easy route, or unpack the tgz by hand; macFUSE required
Docker amd64 · arm64 · armv7 cloudnas/clouddrive2, with shared mounts enabled on the host
fnOS x86_64 · aarch64 fpk package for your architecture, installed manually
Android x86_64 · aarch64 · armv7 No local filesystem mounting without root; everything else works
Synology · QNAP · Unraid Depends on the model Third-party packages and community templates, or just the Docker image

Get it

How to install

Once it's running

Open http://<host>:19798, register or sign in, then add your cloud accounts and set up mount points. Per-platform install steps are in help and setup, and every Docker flag is covered in the Docker deployment guide.

Mounting clouds, the web UI and the basic WebDAV service cost nothing. Fast cross-cloud copying, multi-cloud backup, file change notifications, the encrypted filesystem, per-application permissions and separate WebDAV users are membership features — see plans and pricing.

About this feature list

Everything on this page is what the app does today. CloudDrive2 is under active development, and what cloud providers and platforms allow changes too, so features can change or be withdrawn without notice.

Feature requests and bug reports are genuinely welcome — they are how the next release gets decided. Best filed as GitHub issues, where they stay on the record; you can also write to waytechcloudfs@gmail.com or join the Telegram group.