Filestash Drive

A shared folder that syncs for your agents

~/$ docker plugin install machines/fdrive --alias fdrive
~/$ export FILESTASH_SERVER=https://demo.filestash.app
~/$ export FILESTASH_TOKEN=uKzArshpw49Pta2tJZmg1mywkHcmimpW4lCjtVDNTbUFpmN0W2PXajSRR_fA5VrRr4Ks1S5SHwn9YffL74qRrVr1jssRUCXp4_uZdItrYUhQegWAGh5xT45-DgHowJb5aFtO-nODOMpFa6Y84Sit7za3GyM1miEpYm0wWgVucCs4tA==
~/$ docker compose -f - up <<EOF
services:
  agent:
    image: alpine
    command: ["ls", "-la", "/mnt"]
    volumes:
    - files:/mnt

volumes:
  files:
    driver: fdrive
    driver_opts:
      server: ${FILESTASH_SERVER}
      token: ${FILESTASH_TOKEN}
EOF
[+] up 2/2
✔ Volume app_files Created 0.1s
✔ Container app-agent-1 Created 1.1s
Attaching to agent-1
agent-1 | total 5
agent-1 | drwxr-xr-x 1 root root 0 Jan 1 1970 .
agent-1 | drwxr-xr-x 1 root root 4096 Oct 12 11:08 ..
agent-1 | drwxr-xr-x 1 root root 0 Jun 17 2025 Documents
agent-1 | drwxr-xr-x 1 root root 0 Jun 6 2020 Music
agent-1 | drwxr-xr-x 1 root root 0 Apr 9 2025 Pictures
agent-1 | -rw-r--r-- 1 root root 281 Jun 6 2020 README.org
agent-1 | drwxr-xr-x 1 root root 0 Jun 6 2020 Videos
agent-1 exited with code 0
~/$ # not using docker? That's ok, we have clients for mac, windows, ios, linux, android, and k8s :)
Full example in the guide →

Agents already know how to work with files from a shell: ls, grep, cat, ...

We are bringing the original promise of Dropbox to agents: one folder that syncs across your agents, bringing silos together as plain files, wrapped with strict controls over "who can do what and where" and the means to prove it.

The 3 Steps

(1) Mount Storages (2) Add Controls (3) Monitoring / Audit Trail

01 · Storage

Mount your data

Aggregate your silos into one filesystem that gives your agents the whole context for their tasks

sftp://example.com/home/ connected
s3://bucket/ connected
salesforce connected
02 · Controls

Permission boundaries

Take away every right from your agents and give back only what they need, so it never turns into the wild west

agent: support-bot
/sftp/invoices/** ls cat
/salesforce/** ls cat
/s3/reports/** ls cat save touch rm
everything else denied
03 · Monitoring

Audit & Traceability

The audit trail shows what the agent tried to do, what was allowed or blocked, ready to be analysed through traces

10:42:01 ls /salesforce/ allowed
10:42:03 cat /sftp/invoices/09.csv allowed
10:42:07 rm /s3/reports/q3.pdf allowed
10:42:07 rm /salesforce/accounts blocked

+ Malleable through plugins. Use some of ours, or write your own in Rust

Questions & Answers

Why did you make this?

Your data is already in silos. We are bringing those silos together through a filesystem so it can be available to agents. For almost 10 years we have been building a selfhosted alternative to Dropbox, inspired by plan9, which is already used by millions of people around the world. Since it's already working great for humans, making it work for agents is the next logical step.

What is the vision?

We aim to be the nginx for data access and manipulation. After desktop and mobile, agents are the emerging platform, one that is good at manipulating files using standard Unix tools. It has become clear the world needs an infrastructure product capable of manipulating files coming from heterogeneous places. As the CEO of Nvidia said: « when you deployed an agent ... the first thing you do is you take away all of its rights ... then you provision, you give it access to files ...». We are that provisioning tool.

How does it work?

There are 2 pieces: a sync client you set up where the agents live, and a server API which your agents connect to.

How do I install it?
There are 2 pieces:
  1. the API server, aka the proxy exposing remote storage as one single universal API: read doc
  2. the sync client your agents work from: start here
Can I self host this?

Yes! See how do I install it

What platforms do you support?

We have clients for almost every platform: desktop platforms like Mac, Windows and many variants of Linux, mobile with iPhone and Android, plus a Docker storage driver and a Kubernetes container storage interface.

Why should I trust you with my data?

We started Filestash almost 10 years ago with one clear goal: making your existing data available through a nice Dropbox like app. While some people initially worried about whether they could trust us, you now have many years of commit history to form your own opinion. Also, our customer list has some pretty cool names.

How do you make money?

We are already making money on the Filestash product through professional services, enterprise support, customisation, maintenance contracts, white labelling, and early warning before CVEs are made public.

Our plan involves doing more of those. If you do any serious work, you should find it valuable to have someone to call at 2am when shit hits the fan, with SLAs to get things done in your deployment.

What plugins do you have?

The plugin marketplace has plugins for a wide range of use cases: versioning for storages that don't expose versioning at all, a trash folder, full text search and indexing, antivirus, quota and more... Because the software is malleable you can easily write your own plugins in Rust.

OK, so it's just a FUSE driver then?

It's the idea of FUSE we're trying to take outside the Linux world. Our core sync engine sits one layer above it, so it doesn't just work on Linux via FUSE, but also on Windows via cfapi, Mac and iOS via FileProvider, and Android via the Storage Access Framework. Also, the core is a real sync engine with its own local cache, synchronisation with your remotes in real time, delta synchronisation, conflict management, search, a live view to broadcast changes in real time, thumbnail creation, and most importantly offline capability: if your agent goes through a tunnel, or the storage isn't available straight away because it happens to be on GitHub, it will sync back automatically once back online.

Show me the code!

The API server is being developed on: https://github.com/mickael-kerjean/filestash
The sync client is being developed on: https://github.com/mickael-kerjean/fdrive

Talk to the founder directly

Book a call