Flare Banner

Icon designed by xNefas

### A modern, lightning-fast file sharing platform built for self-hosting [![Version](https://img.shields.io/github/v/release/FlintSH/flare?include_prereleases&style=flat-square&logo=github)](https://github.com/FlintSH/flare/releases) [![Last Commit](https://img.shields.io/github/last-commit/FlintSH/flare?style=flat-square&logo=git)](https://github.com/FlintSH/flare/commits/main) [![Stars](https://img.shields.io/github/stars/FlintSH/flare?style=flat-square&logo=github)](https://github.com/FlintSH/flare/stargazers) [![Discord](https://img.shields.io/discord/1006668059936829511?style=flat-square&color=5865F2&logo=discord&logoColor=white)](https://discord.gg/mwVAjKwPus)
Flare is a modern, self-hostable file sharing platform designed to work seamlessly with popular screenshot and sharing tools like ShareX, Flameshot, and KDE Spectacle. Built with Next.js and designed with simplicity in mind, it offers a complete solution for all your file sharing needs with a strong focus on performance, customizability, and user experience. ## ✨ Features - πŸš€ **Universal Screenshot Integration** - ShareX, Flameshot, KDE Spectacle, and Bash Script upload support - One-click configuration/script downloads - πŸ”’ **Secure & Private** - Role-based permissions, private files, and password protection - πŸ’Ύ **Flexible Storage** - Local filesystem and S3-compatible storage support - πŸ–ΌοΈ **Universal Preview** - Preview images, videos, PDFs, and code with syntax highlighting - πŸ—‚οΈ **Folders & Tags** - Optional, opt-in organization for your uploads with grid, list, and folder dashboard views, filtering, and bulk actions (stays out of your way by default) - πŸ” **Smart Search** - Search by filename, OCR content, and date with filters - πŸ“± **Modern UI** - Clean, responsive interface built with shadcn/ui - easily customizable - βš™οΈ **Configurable** - User storage quotas, registration controls, and instance settings - Theme customization with CSS variables and custom colors - Advanced settings for custom CSS and HTML injection - πŸ“Š **Admin Dashboard** - Usage metrics, user management, and system configuration - πŸ‘₯ **User Management** - Role assignment, storage quotas, and content moderation - πŸ”— **URL Shortener** - Custom short URLs under your domain with click tracking - πŸ“ **Pastebin** - Code and text sharing with syntax highlighting - πŸ€– **OCR Processing** - Automatic text extraction from images uploaded - πŸ”Œ **Rich Embeds** - Content embeds naturally on all your social media platforms. ## πŸš€ Quick Start Flare is quick to deployβ€”you only need a PostgreSQL server and Docker. Choose one of these options: ### Railway (One-Click) Click the button below to deploy Flare on Railway. Once deployed, just set your authentication secret and create your admin account. [![Deploy on Railway](https://railway.com/button.svg)](https://railway.com/template/JVT41u?referralCode=R5s8WT) ### Docker Deployment (Self-Hosted) 1. Install `docker.io` and `docker-compose` 2. Create `docker-compose.yml` with the following template: ```bash version: '3.8' services: db: image: postgres:17-alpine # lightweight, recent version; 16 or 15 also fine container_name: flare-db restart: unless-stopped environment: POSTGRES_USER: flareuser # change if you want POSTGRES_PASSWORD: your-secure-password-here # ^f^p CHANGE THIS to something strong POSTGRES_DB: flaredb # database name Flare will use volumes: - ./postgres-data:/var/lib/postgresql/data # persistent storage healthcheck: test: ["CMD-SHELL", "pg_isready -U flareuser -d flaredb"] interval: 10s timeout: 5s retries: 5 flare: image: flintsh/flare:latest container_name: flare-app restart: unless-stopped ports: - "3000:3000" # change left side if you want different host port environment: DATABASE_URL: postgresql://flareuser:your-secure-password-here@db:5432/flaredb?schema=public NEXTAUTH_SECRET: securestuffhere # generate with: openssl rand -base64 32 NEXTAUTH_URL: http://localhost:3000 # or https:// if using reverse proxy volumes: - ./uploads:/app/uploads # where files/screenshots/videos are stored depends_on: db: condition: service_healthy ``` 3. Run `docker-compose up -d` 4. Open http://localhost:3000 to complete the setup and create your admin account. The official Docker image is available on Docker Hub and GitHub Container Registry as `flintsh/flare`. ## πŸ’¬ Support Need help with your instance? Join my [Discord](https://discord.gg/mwVAjKwPus) for support, discussions, and updates! ## πŸ“ Configuration Flare is built to be as configurable as possible. Head to `/dashboard/settings` to tweak different settings like: - Setting storage quotas and file size limits for users - Defining upload rules and restrictions - Configuring registration options and user permissions - Customizing the site's appearance and branding - Managing advanced settings like custom CSS and HTML ## πŸ“œ License Flare is licensed under the MIT License.