selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

Firefiles logo

Self-host Firefiles

v1.3.0

Open-source Dropbox alternative with bring-your-own cloud

ReleaseOpen SourceAGPL-3.0
Updated11 months ago
LanguageTypescript
Setup difficultyAdvanced
ThemeDark mode
Stars
370
Requires
MySQL, SendGrid
Firefiles dashboard showing file management interfaceMultiple cloud storage buckets managed in one dashboard

What is Firefiles?

Firefiles gives you a web-based file manager for your personal cloud storage buckets. You connect the storage backends you already use — Firebase, AWS S3, DigitalOcean Spaces, Backblaze B2, Wasabi, Scaleway, Cloudinary, Azure Blob, Supabase, or Deta — and Firefiles presents a single interface to browse, upload, download, preview, and tag files across all of them. The UI supports light and dark themes. For self-hosting, you deploy the Next.js application on any compatible platform (Vercel is the documented option) and provide a MySQL database (PlanetScale or Railway suggested) plus a SendGrid account for passwordless email sign-in. The project is licensed under AGPL-3.0-or-later.

Should you self-host Firefiles?

Firefiles scores 47/100 on selfhost.directory (how scoring works) and ranks #24 of 34 in File Management. It has 370 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is advanced: plan for several services and some ongoing maintenance. It is AGPL-3.0-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is Ente (81/100, 29 693 stars). It scores higher overall, so compare the two before you pick. See Firefiles vs Ente side by side.

Features

  • AES-256 credential encryption
  • Client-side file operations
  • Drag-and-drop upload/download
  • File Previews
  • File tagging and filteringS3 limited to 10 tags per object.
  • Multi-provider cloud storage management
  • Passwordless email authentication

Firefiles README

How to configure Firefiles

  • CIPHER_KEYUsed to encrypt the bucket keys which the user provides. Should be a strong randomly generated string.

    Used to encrypt the bucket keys which the user provides. Should be a strong randomly generated string.

  • COOKIE_PASSWORDUsed to encrypt cookies in the browser. Should be a 32 character long randomly generated string.

    Used to encrypt cookies in the browser. Should be a 32 character long randomly generated string.

  • DATABASE_URLDatabase URL of your MySQL database. Should not be a localhost URL.

    Database URL of your MySQL database. Should not be a localhost URL.

  • DEPLOY_URLURL where the app will be deployed (e.g., Vercel deployment URL).

    URL where the app will be deployed (e.g., Vercel deployment URL).

  • EMAIL_FROMEmail address used to send passwordless login emails. Must be added and verified in SendGrid dashboard.

    Email address used to send passwordless login emails. Must be added and verified in SendGrid dashboard.

  • JWT_SECRETRandomly generated string used to sign and verify JWT tokens for passwordless logins.

    Randomly generated string used to sign and verify JWT tokens for passwordless logins.

  • SELF_HOSTtrueSet to 'true' to disable paywalls in future versions.

    Set to 'true' to disable paywalls in future versions.

  • SENDGRID_API_KEYUsed to send emails for passwordless login. Obtained from SendGrid dashboard.

    Used to send emails for passwordless login. Obtained from SendGrid dashboard.

Firefiles releases & version history

FAQ

How does file tagging and filtering work?

Tagging uses Firebase custom metadata or AWS S3 object tagging (max 10 tags per object). Tags are key-value pairs with unique keys per file.

Do you have plans for a Desktop / Mobile app?

Yes, desktop and mobile apps are planned but no timeframe is provided yet.

What makes this different from Dropbox or Google Drive?

Firefiles doesn't provide cloud storage; it gives you a file system interface for your own cloud providers. Cloud providers offer flexible pay-as-you-go pricing versus fixed plans from Dropbox/Google Drive.

What about pricing? Who is paying for my files?

Your chosen cloud provider bills you directly for storage and bandwidth usage.

Where are the files stored? Do you have access to my files?

Files are stored in your chosen cloud provider (Firebase, AWS, DigitalOcean, etc.). Firefiles does not store files and they never reach Firefiles servers.

Who is this for?

People and developers who value privacy and want secure file storage, businesses needing private document storage, and anyone wanting to fully own and control their cloud storage.

How does it work?

You provide credentials for each cloud provider. Firefiles connects to them client-side in the browser to fetch and manage files. Files never go through the Firefiles server, and credentials are encrypted with AES-256 in the database.

Is this a file hosting service?

No. Firefiles does not host your files; the cloud providers (AWS, DigitalOcean, etc.) do. Firefiles only provides a file system interface for those providers.

What is it?

Firefiles is an open-source alternative to Dropbox that lets you bring your own cloud provider and manage files across all providers seamlessly.

More in Cloud Storage

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…