Remote filesystem over encrypted gRPC. Mount a directory from a remote server as a local folder via FUSE.
Designed for streaming media (video, music) over the network.
furumi-server (gRPC + TLS) ←→ furumi-client-core ←→ furumi-mount-{linux,macos} (FUSE / NFS)
# Build
cargo build --release --workspace
# Server — auto-generates TLS certificate, saves it for client
./target/release/furumi-server \
--root /path/to/media \
--token mysecrettoken \
--tls-cert-out /tmp/furumi-ca.pem
# Client (Linux) — automatically uses TLS, trusts server certificate
./target/release/furumi-mount-linux \
--server server-ip:50051 \
--token mysecrettoken \
--mount /mnt/remote
# Client (macOS)
./target/release/furumi-mount-macos \
--server server-ip:50051 \
--token mysecrettoken \
--mount /Volumes/remote
# Use it
ls /mnt/remote
mpv /mnt/remote/video.mkv
TLS is enabled by default. The server auto-generates a self-signed certificate on each start — no manual cert management required. The client automatically trusts the server's certificate for encryption.
To disable TLS (not recommended): --no-tls on both server and client.
All options can be set via CLI flags or environment variables.
| Flag | Env | Default | Description |
|---|---|---|---|
--bind | FURUMI_BIND | 0.0.0.0:50051 | gRPC listen address |
--root | FURUMI_ROOT | . | Directory to expose |
--token | FURUMI_TOKEN | (empty, auth off) | Bearer token |
--metrics-bind | FURUMI_METRICS_BIND | 0.0.0.0:9090 | Prometheus endpoint |
--no-tls | — | false | Disable TLS |
| Flag | Env | Default | Description |
|---|---|---|---|
--server | FURUMI_SERVER | 0.0.0.0:50051 | Server address |
--token | FURUMI_TOKEN | (empty) | Bearer token |
--mount | FURUMI_MOUNT | — | Mount point directory |
--no-tls | — | false | Disable TLS |
Available at http://<metrics-bind>/metrics:
furumi_grpc_requests_total — request count by method and statusfurumi_grpc_request_duration_seconds — request latency histogramfurumi_bytes_read_total — total bytes streamedfurumi_active_streams — current streaming connectionsfurumi_file_open_errors_total — file access errorsfurumi_auth_failures_total — authentication failureslibfuse3-dev and pkg-config (for client)MIT
Content type
Image
Digest
sha256:24da3a195…
Size
39.5 MB
Last updated
7 months ago
docker pull ultradesu/furumi-server:ebf0256