Share your game clips, videos, or other media via unique links.
Live Demo
·
Report a Bug
·
Buy us a Coffee!
- Share videos through unique links
- Public / Private feeds (private is link only)
- Game-based organization with cover art
- Mobile Device Support
- Uploads (optional, can be restricted)
- Video view counting
- Open Graph metadata for rich link previews
- RSS feed for new public videos
- LDAP support
- Optional video transcoding with CPU or NVIDIA GPU
Fireshare is designed to run in Docker.
Required mounts:
/data- internal database/processed- generated metadata (posters, metadata files)/videos- source video directory to scan
If your clips are in /path/to/my_game_clips/, mount that path to /videos in the container.
Edit docker-compose.yml for your host paths and admin credentials, then run:
docker-compose up -dThen open http://localhost:8080.
docker run --name fireshare \
-v $(pwd)/fireshare:/data:rw \
-v $(pwd)/fireshare_processed:/processed:rw \
-v /path/to/my_game_clips:/videos:rw \
-p 8080:80 \
-e ADMIN_PASSWORD=your-admin-password \
-d shaneisrael/fireshare:latestOpen http://localhost:8080.
- LDAP setup: LDAP.md
Transcoding is off by default.
ENABLE_TRANSCODING=true
TRANSCODE_GPU=true # optional, NVIDIA onlyCPU transcoding works out of the box. For NVIDIA GPU setup with the Docker image, you only need an NVIDIA GPU on the host—the image handles drivers and toolkit.
- NVIDIA GPU with NVENC support
If you're using Unraid:
- Install "NVIDIA Driver" plugin from Apps/Community Applications
- Add to Fireshare container environment:
ENABLE_TRANSCODING=true TRANSCODE_GPU=true NVIDIA_DRIVER_CAPABILITIES=all - Add to "Extra Parameters":
--gpus=all
When GPU mode is enabled, Fireshare selects the best available encoder:
GPU Mode (TRANSCODE_GPU=true):
- AV1 with GPU (av1_nvenc) — RTX 40 series or newer
- H.264 with GPU (h264_nvenc) — GTX 1050+
- Fallback to CPU encoders if GPU encoding fails
CPU Mode (TRANSCODE_GPU=false):
- H.264 with CPU — Most compatible, faster encoding
- AV1 with CPU — Best compression, slower
Requirements: Python 3, Node.js, and npm.
- Clone the repo:
git clone https://github.com/ShaneIsrael/fireshare.git
- Start backend services from project root:
./run_local.sh
- Start frontend:
cd app/client npm install npm start - Open
http://localhost:3000and sign in withadmin/admin.
Contributions are welcome. For larger changes, open an issue first to align on scope.
- Fork the repository
- Create a branch from
develop - Commit your changes
- Rebase on latest
develop - Open a pull request to
develop
Issues and feature requests: https://github.com/ShaneIsrael/fireshare/issues
If you update models, create a migration and review it before opening a pull request.
If playback is unstable:
- Reduce source file size/bitrate
- Verify upload bandwidth on the host
- Prefer browser-friendly formats (MP4/H.264 is safest)
- Consider enabling transcoding for better compatibility
- Test in another browser to rule out codec/browser limitations
Increase proxy limits/timeouts, for example:
client_max_body_size 0;
proxy_read_timeout 999999s;If you use a different proxy, apply equivalent upload size and timeout settings there.




