app like that
Firefiles
Firefiles

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.

Features

Multiple Drives Management

Easily manage multiple drives simultaneously through the dashboard and create more drives as needed.

Simultaneous Upload and Download

Easily upload multiple files simultaneously and download them in a single click.

File Previews

Preview all your files directly in the browser without downloading anything.

Open-source file management

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.

Vercel Deployment

Deploy the instance using Vercel. It supports hosting services compatible with Next.js.

Environment Variables Setup

Defines necessary environment variables such as COOKIE_PASSWORD, CIPHER_KEY, SENDGRID_API_KEY, EMAIL_FROM, JWT_SECRET, DATABASE_URL, DEPLOY_URL, and SELF_HOST.

Prisma Script Configuration

Adjust the Prisma generate and migrate scripts depending on the database to be used.

SendGrid Integration

Uses SendGrid for sending emails and resources for passwordless logins.

File System Interface for Cloud Providers

Firefiles connects with your chosen cloud provider (e.g., AWS, Digital Ocean) and provides a file system interface for those providers.

AES-256 Encryption

Strong AES-256 encryption is used to store credentials securely in the database.

Bring Your Own Cloud Provider

Allows users to bring their own cloud providers like Firebase and AWS, providing more privacy and flexible pricing.

File Tagging and Filtering

Supports tagging by AWS and Firebase, allowing files to be tagged and searched effectively, while preventing errors caused by blank keys or empty values.

Hosted Option

Firefiles manages the instance for you, providing automatic updates, easy setup, and AES-256 encrypted key security. It's ideal for everyone.

Self-Host Option

You host your own instance with manual updates and more complicated setup. Your keys stay with you, making it ideal for technical people.

Firebase Project Setup

Guide users through creating a new Firebase project including naming the project, disabling unnecessary features like Google Analytics, and setting up initial configurations.

Web Platform Configuration

Focus on configuring the project for web platforms through the Firebase console, ensuring necessary settings are applied.

Firebase SDK Integration

Instructions on adding Firebase SDK to your web project, including copying and storing configuration values critical for app integration.

Cloud Storage Setup

Guide to setting up Firebase Cloud Storage, including selecting appropriate storage locations and ensuring configurations align with your geographic requirements.

Temporary User Creation in Firebase

Creates a temporary user within your Firebase project to access your storage bucket. Requires enabling email/password authentication.

Error Handling for Authentication

If errors like 'Wrong Password' occur, users should delete the temporary user in Firebase authentication.

Create New Drive in Firefiles

Allows you to create a new drive with your Firebase credentials, which enables file access.

Firebase Security Rules Adjustment

Adjust security rules of your storage bucket to ensure Firefiles works properly. Two example rules are provided.

CORS Configuration Setup

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.

Automatic S3 Bucket Creation

No need to create an S3 bucket manually before using Firefiles. If you provide access keys, Firefiles will create an S3 bucket for you.

Region Specification

Ensure the correct region is selected when creating a new drive in Firefiles to avoid AWS errors.

Presigned URL with Expiry

Files shared on S3 contain a presigned URL that expires after 24 hours. Future updates will include the ability to extend this expiry.

Pricing Plans

Hosted

$0
per variable

Self-Host

$0
per forever