Skip to main content

Access Layer

The access layer exposes the same storage namespace through multiple protocols for local and remote workflows, plus a built-in web panel for monitoring and configuration.

Protocol Gateway​

Protocols​

FUSE​

Native mount behaviour for local filesystem access. Requires libfuse2 and the Python fusepy binding. The program attempts to install libfuse automatically if it is missing. Requires root privileges.

SFTP​

Secure remote file transfer and administration via SSH/SFTP (asyncssh). Supports read, write, delete, and directory operations on the virtual namespace. Default port: 8081.

WebDAV​

Web-friendly filesystem interoperability (wsgidav + cheroot). Compatible with Windows Explorer, macOS Finder, and backup tools. Default port: 8080.

NFS​

Network File System access via the Linux kernel NFS daemon (nfs-kernel-server). The program installs nfs-kernel-server automatically if it is missing. Requires root or sudo to write to /etc/exports.d/ and reload exportfs. Exports the VFS root as /nfsshare. Mount tip: mount <server-ip>:/ /mnt/nfs. Default port: 2049.

Note: NFS uses the Linux kernel NFS server — Docker is not required.

Web Panel​

A built-in Flask web dashboard for real-time monitoring and configuration. Enabled by default on port 5000. Accessible from a browser at http://<host>:5000. Provides:

  • Live stats via /api/stats (files moved, disk usage, uptime, last action)
  • Config view and editor via /api/config
  • Dashboard and Config views in the UI

Note: The S3-compatible API (s3_server) has been removed from the program. Older config.yml files containing an s3_server section are automatically migrated and that section is dropped.

Advanced details
  • Protocol services can be enabled independently in the configuration.
  • When use_fuse_mount_as_root: true, the protocol server serves the FUSE mount point as its root — FUSE must be enabled and running first.
  • SFTP automatically generates an Ed25519 or RSA host key if no host_key_path is configured.
  • SFTP explicitly warns when the server is bound only to 127.0.0.1, which blocks external connections.
  • Preflight checks verify permissions and dependency readiness for each service.
  • The Web Panel runs as a daemon thread (Flask) and silences server banner output by default.