Firefiles is an open-source alternative to Dropbox. It allows you to set up a cloud drive with your chosen backend and manage files across multiple providers. You can manage multiple drives, upload and download files easily, and preview files in the browser.
Easily manage multiple drives simultaneously through the dashboard and create more drives as needed.
Easily upload multiple files simultaneously and download them in a single click.
Preview all your files directly in the browser without downloading anything.
Firefiles serves as an open-source alternative to services like Dropbox, enabling you to use your own cloud provider to manage files seamlessly across platforms.
Deploy the instance using Vercel. It supports hosting services compatible with Next.js.
Defines necessary environment variables such as COOKIE_PASSWORD, CIPHER_KEY, SENDGRID_API_KEY, EMAIL_FROM, JWT_SECRET, DATABASE_URL, DEPLOY_URL, and SELF_HOST.
Adjust the Prisma generate and migrate scripts depending on the database to be used.
Uses SendGrid for sending emails and resources for passwordless logins.
Firefiles connects with your chosen cloud provider (e.g., AWS, Digital Ocean) and provides a file system interface for those providers.
Strong AES-256 encryption is used to store credentials securely in the database.
Allows users to bring their own cloud providers like Firebase and AWS, providing more privacy and flexible pricing.
Supports tagging by AWS and Firebase, allowing files to be tagged and searched effectively, while preventing errors caused by blank keys or empty values.
Firefiles manages the instance for you, providing automatic updates, easy setup, and AES-256 encrypted key security. It's ideal for everyone.
You host your own instance with manual updates and more complicated setup. Your keys stay with you, making it ideal for technical people.
Guide users through creating a new Firebase project including naming the project, disabling unnecessary features like Google Analytics, and setting up initial configurations.
Focus on configuring the project for web platforms through the Firebase console, ensuring necessary settings are applied.
Instructions on adding Firebase SDK to your web project, including copying and storing configuration values critical for app integration.
Guide to setting up Firebase Cloud Storage, including selecting appropriate storage locations and ensuring configurations align with your geographic requirements.
Creates a temporary user within your Firebase project to access your storage bucket. Requires enabling email/password authentication.
If errors like 'Wrong Password' occur, users should delete the temporary user in Firebase authentication.
Allows you to create a new drive with your Firebase credentials, which enables file access.
Adjust security rules of your storage bucket to ensure Firefiles works properly. Two example rules are provided.
Guides the user in setting up CORS for Firebase to enable file previewing. Involves copying the bucket URL, using Google Cloud Console to open a terminal, and setting the CORS configuration using a JSON file.
No need to create an S3 bucket manually before using Firefiles. If you provide access keys, Firefiles will create an S3 bucket for you.
Ensure the correct region is selected when creating a new drive in Firefiles to avoid AWS errors.
Files shared on S3 contain a presigned URL that expires after 24 hours. Future updates will include the ability to extend this expiry.