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.

filesharing logo

Self-host filesharing

2.14.1

Self-hosted file sharing like WeTransfer

ReleaseOpen SourceGPL-3.0
Updated4 months ago
LanguagePHP
Setup difficultyModerate
Stars
289
Port
80 (HTTP web interface)
Docker
axeloz/filesharing
Install with Docker
filesharing screenshot 1

What is filesharing?

FileSharing is a PHP application based on Laravel that enables self-hosted file sharing similar to WeTransfer. Users can upload files via drag-and-drop, create bundles with expiration dates, passwords, and download limits, and share them via preview links (showing file list with ZIP download) or direct download links. Each link includes an authorization code. The app stores bundles as JSON files on disk — no database required — and includes a scheduled garbage collector that removes expired bundles. It supports IP-based access control or user login/password authentication for uploads, offers multilingual support (English, French, German, Korean), and provides download rate limiting. Installation is available via Docker, Docker Compose, or a manual Composer/Yarn setup. The project is licensed under GPL-3.0.

filesharing alternatives

Should you self-host filesharing?

filesharing scores 47/100 on selfhost.directory (how scoring works) and ranks #57 of 86 in File Sharing. It has 289 GitHub stars, +1 in the last 30 days.

It shipped 2 stable releases in the past year. The latest, 2.14.1, came out on 29 June 2026.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is GPL-3.0-licensed and written mostly in PHP.

Its closest alternative on selfhost.directory is copyparty (82/100, 47 192 stars). It scores higher overall, so compare the two before you pick. See filesharing vs copyparty side by side.

Features

  • Add files to existing bundles
  • Bundle creation with settings
  • Download rate limiting
  • Duplicate file prevention
  • File upload via drag-and-drop
  • Garbage collector for expired bundles
  • IP-based upload access control
  • Multilingual Support
  • No Database Required
  • Preview and download links
  • Secure token-based links
  • User authentication for uploads
  • ZIP Archive Download

filesharing README

Files Sharing

FILES SHARING VERSION 2 JUST RELEASED

Description

This PHP application based on Laravel 10.9 allows to share files like Wetransfer. You may install it on your own server. It does not require any database system, it works with JSON files into the storage folder. It is multilingual and comes with english, french, german and korean translations for now. You're welcome to help translating the app.

This application provides two links per bundle :

How to install filesharing

Install filesharing with Docker

Docker Engine
Environment variables
APP_NAME, APP_URL, ASSET_URL, UPLOAD_MAX_FILESIZE, UPLOAD_PREVENT_DUPLICATES, HASH_MAX_FILESIZE, UPLOAD_MAX_FILES, LIMIT_DOWNLOAD_RATE

docker run -d
-p 8080:80
-v <local_path>:/app/storage/content
--name filesharing
-e APP_NAME="FileSharing"
-e APP_URL="<your_url>"
-e ASSET_URL="<your_asset_url>"
-e UPLOAD_MAX_FILESIZE="1G"
-e UPLOAD_PREVENT_DUPLICATES=true
-e HASH_MAX_FILESIZE="1G"
-e UPLOAD_MAX_FILES=100
-e LIMIT_DOWNLOAD_RATE="100K"
axeloz/filesharing:latest

Use -v to bind local storage for persistence. Adapt -p for desired port. Use reverse proxy for SSL.

How to configure filesharing

  • APP_NAMEFile Sharingthe title of the application
  • APP_ENVproductionchange this to production when in production (local otherwise)

    values: production, local

  • APP_DEBUGfalsechange this to false when in production (true otherwise)

    values: true, false

  • APP_URLapplication URL
  • UPLOAD_MAX_FILESIZE1Gmax upload size (K, M, G, T)

filesharing releases & version history

More in File Sharing

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…