Fireshare turns a folder on your server into a searchable video and image library. Every file gets its own URL you can drop in Discord — and the file people watch is your original, untouched. No upload caps. No re-encoding. No expiry date.
$ docker run -d --name fireshare -p 8080:80 \
-v ./data:/data \
-v ./processed:/processed \
-v ./videos:/videos \
-v ./images:/images \
-e ADMIN_USERNAME=admin \
-e ADMIN_PASSWORD=changeme \
shaneisrael/fireshare:latest-lite
http://localhost:8080
and drop in a clip.
Runs anywhere Docker does
Every clip host solves the same problem the same way: take your file, shrink it, put it behind their brand, and charge you when you outgrow the free tier. Fireshare skips all of that — the file stays on your disk and the link points at your server.
Open a clip, grab its URL, and it plays in the browser for anyone you send it to — with a real title, thumbnail and inline player when it unfurls in Discord, Slack or Twitter. Trim the dead air off the front first if you want — the crop is reversible.
Fireshare reads what you dropped in and groups it by game, pulling
cover art automatically. Four hundred clips stop being a wall of
2026-03-05_20-05-14
and turn into shelves you can actually browse.
New in v1.8.0: invite your squad with a link. Each of them gets a
profile page at
/u/username showing
their own uploads, and you decide exactly what they're allowed to
do. Settings and user management stay yours.
Ten capability keys, or three presets — Viewer, Contributor, Curator.
No opaque blob store, no external database to run. Point Fireshare at a directory and it scans what's there. The file manager gives you bulk moves, privacy changes and transcode cleanup — and if you ever walk away, your clips are exactly where you left them.
Not YouTube, not a CDN. It's streaming from v.fireshare.net, a public instance running the same container you're about to install. Switch the quality — those are the transcodes.
Want to poke around the whole library instead? demo.fireshare.net
No tiers, no add-ons, no feature held back for a pro plan. This is the whole list.
Plays .mp4,
.m4v,
.mov and
.webm (H.264, H.265, AV1, VP9) —
the original file is always what gets served.
If you've run anything in Docker before, this is a five-minute job. If you're on Unraid, it's a button.
One for clips, one for images, plus two small ones Fireshare uses for its database and generated posters.
Copy the compose file below, change the paths and the admin
password, then
docker compose up -d.
Visit http://localhost:8080.
Drop a clip in, hit copy, paste it to a friend.
services:
fireshare:
image: shaneisrael/fireshare:latest-lite
container_name: fireshare
restart: unless-stopped
ports:
- "8080:80"
volumes:
- /path/to/data:/data
- /path/to/processed:/processed
- /path/to/videos:/videos
- /path/to/images:/images
environment:
- ADMIN_USERNAME=admin
- ADMIN_PASSWORD=changeme
# your public domain — needed for link previews
- DOMAIN=clips.example.com
# run `id` on the host so files stay yours
- PUID=1000
- PGID=1000
# optional: extra qualities for slower connections
- ENABLE_TRANSCODING=true
latest-lite is the smaller
image — use latest for NVIDIA GPU
transcoding.
Full install docs →
Anything that runs Docker and has disk space. Fireshare streams the original file straight to the browser, so serving clips is cheap — an old NUC or a NAS handles it fine. Transcoding is the only heavy part, and it's off by default.
No. Your original file is never modified and is what viewers get by default. If you turn transcoding on, Fireshare writes additional lower-quality versions next to it so someone on hotel wifi can still watch.
No. Anyone with the link can watch. Private media is link-only — it stays out of feeds and listings but opens for whoever you sent it to — and individual videos can also sit behind a password. Accounts are only for people who upload or manage the library.
MP4, M4V, MOV and WebM, encoded as H.264, H.265, AV1 or VP9 — which covers what ShadowPlay, ReLive and your phone record by default. Because the original is served straight to the browser, it has to be something browsers can play, so MKV recordings need remuxing to MP4 first.
Put it behind whatever reverse proxy you already run — Nginx
Proxy Manager, Caddy, Traefik, a Cloudflare tunnel — and set the
DOMAIN variable to that
hostname so link previews point at the right place. Login IP
whitelisting and TOTP two-factor are built in for the admin side.
Since v1.8.0, yes. Send an invite link or set a password for them, then grant any mix of ten capabilities. Each account gets a profile page of its own uploads. Settings and user management stay admin-only.
LDAP was removed in v1.8.0. Fireshare refuses to start while any
LDAP_* variable is still set,
before it touches your database — removing them is how you confirm
the upgrade. Each directory account is then converted to a local
one, keeping its uploads, profile and permissions, but with no
password: you set one or send an invite from Settings → Users.
If you still need a directory server, pin to 1.7.9.
Read the release notes →
Yes — GPLv3, no paid tier, nothing held back. Sponsoring is optional and pays for the public demo server and the weekends that go into new releases.
Give them a link that belongs to you too.
$ docker run -d --name fireshare
-p 8080:80 ... shaneisrael/fireshare:latest-lite
Fireshare is built on weekends. Sponsoring keeps the demo server online and the releases coming.