https://github.com/bansal/folder
Folder – An open-source Google Drive alternative, powered by Cloudflare. 🚀
https://github.com/bansal/folder
dam drive filesystem hosting nuxt serverless
Last synced: 6 months ago
JSON representation
Folder – An open-source Google Drive alternative, powered by Cloudflare. 🚀
- Host: GitHub
- URL: https://github.com/bansal/folder
- Owner: bansal
- License: other
- Created: 2025-03-09T10:49:57.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-03-24T05:52:10.000Z (7 months ago)
- Last Synced: 2025-03-31T20:11:48.095Z (6 months ago)
- Topics: dam, drive, filesystem, hosting, nuxt, serverless
- Language: TypeScript
- Homepage: https://folder.run/
- Size: 289 KB
- Stars: 479
- Watchers: 3
- Forks: 35
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Folder
An open-source, serverless **Digital Asset Management (DAM)** software that helps you **store, organize, and share** files and folders. With **Folder**, you can securely share files, manage permissions, and even publish folders as a static website.


## Why Folder?
- **Alternative to Google Drive**: Store files, manage assets, and serve them via CDN.
- **Built for AI & Modern Workflows**: Direct file access for AI training or querying.
- **Developer-Friendly**: Deploy on Cloudflare with **serverless architecture**.## Tech Stack
- **Frontend**: Nuxt, TailwindCSS, Nuxt UI
- **Backend**: Nitro
- **Database**: Cloudflare D1
- **Storage**: Cloudflare R2
- **Authentication**: OAuth (Google, GitHub)
- **Server**: Cloudflare Workers
- **Deployment**: Cloudflare Wrangler## Features
- Intuitive file and folder management
- Files and Folder uploads
- Secure file sharing with customizable permissions
- Public/Private visibility settings
- Public folder as website
- File previews for common formats
- Search functionality
- Responsive design for mobile and desktop
- Dark mode
- Authentication with Google and Github
- Custom domain support
- Serverless architecture## Prerequisites
1. **Cloudflare Account** (for R2, D1 and Hosting)
2. **GitHub/Google Cloud Account** (for OAuth authentication)
3. **Domain name** (optional, for custom domains)## Deployment
1. **Create Cloudflare resources**
- Set up **D1 Database**
- Create an **R2 Bucket**
2. **Set up OAuth**
- Create an OAuth App in **GitHub Developer Settings** (or Google Cloud Console)
- Obtain **Client ID & Secret**
3. Clone the repository```sh
git clone https://github.com/bansal/folder.git
cd folder
```4. Install dependencies: `npm install`
5. Configure Cloudflare credentials
- Rename `wrapper.example.toml` → `wrapper.toml`
- Update `wrapper.toml` the configuration with your **Cloudflare API key, R2 bucket name, and D1 DB name**
6. Deploy to Cloudflare Workers: `npm run deploy`## Local Development
1. Configure your environment variables in a `.env` file
2. Install dependencies: `npm install`
3. Start the development server: `npm run dev`
4. Visit [http://localhost:3000](http://localhost:3000) in your browser## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the repository
2. Create your feature branch: `git checkout -b feature/amazing-feature`
3. Commit your changes: `git commit -m 'Add some amazing feature'`
4. Push to the branch: `git push origin feature/amazing-feature`
5. Open a Pull Request## Disclaimer
This project is still in development. **Use at your own risk.** See [DISCLAIMER](DISCLAIMER.md) for details.
## License
Read [LICENSE](LICENSE)