A modern, self-hosted S3-compatible storage file manager built with Nuxt and Nuxt UI. Manage your cloud objects across AWS S3, Cloudflare R2, MinIO, Wasabi, DigitalOcean Spaces, and any S3-compatible service from a single interface. Includes one-command Docker deployment, role-based access, public sharing for buckets and folders, bulk ZIP download and delete, bucket administration, and an embeddable file viewer.
- Multi-provider support — Connect multiple S3-compatible destinations (AWS S3, R2, MinIO, Wasabi, Spaces, etc.)
- Role-based access — Admin and Editor roles with per-destination user permissions
- Public sharing — Shareable links for buckets and folders, with expiration, upload/folder permissions, and Embed vs Shared page layouts
- Embeddable viewer — Embed the file browser via iframe with theme colors and
system/ light / dark mode - File operations — Browse, upload, preview, rename, edit metadata, download as ZIP, and bulk-delete selected files and folders
- Bucket tools — Create, rename, and delete buckets (admin); refresh the list; see used size
- Secure by design — HttpOnly JWT cookie, bcrypt passwords, AES-256-GCM for stored S3 secrets, login/register rate limits, CSP headers
-
Clone the repository
git clone https://github.com/ambyte/bucketflow.git cd bucketflow -
Run with Docker Compose
docker compose up -d
-
Open the app — Navigate to http://localhost:3000. On first launch, you'll see a registration form to create the first admin account.
docker pull ghcr.io/ambyte/bucketflow:latestdocker run -d \
--name bucketflow \
-p 3000:3000 \
-v bucketflow-data:/app/.data/storage \
--restart unless-stopped \
ghcr.io/ambyte/bucketflow:latestdocker build -t bucketflow:latest .docker compose up -dThe Compose setup includes:
- Auto-restart policy
- Persistent volume for users, destinations, and generated secrets
- Health check on
/api/health
pnpm install
pnpm devThe app runs at http://localhost:3000.
pnpm build
pnpm preview├── app/ # Nuxt app (pages, components, composables)
├── server/ # API routes, middleware, plugins
│ ├── api/ # REST endpoints (auth, admin, S3, public)
│ └── utils/ # Auth, storage, S3 client helpers
├── public/ # Static assets
├── Dockerfile # Multi-stage production build
└── docker-compose.yml # One-command deployment
Full documentation: bucketflow.ambyte.org. Sources are in docs/.
Preview locally:
pip install -r requirements-docs.txt
mkdocs serveMIT License — see LICENSE for details.

