Fireshare

Self-hosted server for sharing personal video clips

Media Servers ★ 1.5k stars Easy setup MIT

Fireshare is a self-hosted application for sharing video clips and game highlights with friends. It indexes a folder of videos and generates shareable links with previews through a simple web interface.

Key features

  • Video clip sharing
  • Shareable links with previews
  • Folder auto-indexing
  • Simple web UI

Pros & cons

Strengths

  • Great for game clips
  • Easy Docker setup

Trade-offs

  • Not a full media server
  • Basic library features

Fireshare replaces

Last reviewed Sep 13, 2026 · 804 words

Fireshare does one thing that neither Jellyfin nor Immich does cleanly: it takes a folder of MP4s and gives each one a link you can paste into Discord that unfurls with a preview and plays without an account. If your use case is "share the 40-second clutch from last night with 6 people", it is the correct tool, it needs 256 MB of RAM, and it is running in under 10 minutes. If your use case is anything wider than that, keep reading, because the ceiling is low and I would rather you hit it here than after a migration.

The whole install fits in one Compose block

The image is shaneisrael/fireshare, the UI listens on port 8080 inside the container, and there are three volumes: /videos for the clips you want to publish, /processed for generated posters and thumbnails, and /data for the SQLite database. Two environment variables, ADMIN_USERNAME and ADMIN_PASSWORD, create the only account. Point your game capture software, or a Syncthing folder from your gaming PC, at the videos directory and the scanner picks new files up on its schedule or when you press the rescan button.

There is no transcoding. Fireshare serves the file as it sits on disk, so the browser has to be able to decode it. H.264 MP4 works everywhere; HEVC clips from a console or a phone will play in Safari and fail silently in Firefox. Fix that at the capture end (set the encoder to H.264) rather than expecting the server to help.

Sharing is per-clip and the default is private

Every video starts hidden. You toggle it public, copy the link, and that link works for anyone with no login. The link page carries Open Graph tags, which is what makes Discord, Slack and Telegram render the poster and title inline; that single detail is the reason to run this instead of a bare Nginx directory listing. You can set a poster frame, rename the title and choose whether the public view shows a download button. Unlisted-YouTube behaviour, minus YouTube's compression and content checks, is the fair comparison, and the Streamable comparison holds for the same reason.

Folders under /videos become "games" in the interface, so a directory per title gives you a filterable library for free. That is the extent of the organisation model.

What it does not have, stated plainly

Multiple users: no. One admin publishes, everyone else is an anonymous viewer of public links. If two housemates each want their own clip library, run two containers.

Uploads through the browser: added late and basic. The design assumes files arrive on disk by other means.

Playback features: no subtitles, no chapters, no resume position, no mobile app, no transcoding, no hardware acceleration because there is nothing to accelerate. The player is the browser's.

Library management: no metadata scraping, no tags beyond the folder name, and search is by title. At 2,000 clips the list view still works; it just stops being pleasant.

None of these are bugs. The catalogue's "basic library features" con is the project's scope statement.

When a bigger tool is the right answer

For a proper media library with users, transcoding and apps on every TV, Jellyfin is the safer pick, and its share links are worse precisely because it is built for a different job. For phone video that belongs with your photos, Immich already handles it and sharing an album link is 2 taps. For a one-off transfer of a large file to one person, Pingvin Share is lighter and expires the link for you. Fireshare wins the narrow middle: a standing, browsable, low-effort clip site that friends bookmark.

Backups and exposure

The database is a single SQLite file and the processed folder can be regenerated, so a backup is a copy of /data and /videos. Put the container behind a reverse proxy with HTTPS and expose only the public link paths if you can; the admin login has no 2FA and no rate limiting of its own, so a long password and a fail2ban rule on the proxy log are the whole defence. If you never share outside the household, leave it LAN-only or behind a VPN and none of this matters.

What I'd do

Run it on the same box as the game-capture sync folder, force H.264 at the capture side, and treat it as the clip bin for one household. Keep it private by default and flip individual clips public as needed. The moment someone asks for user accounts or subtitles, that is the signal to stand up Jellyfin next to it rather than wait for Fireshare to grow into something it has said it will not be.

Similar media servers apps