Fireshare is distributed as a Docker image, so the only tools you need on your host are Docker and Docker Compose. This guide walks you from zero to a fully running Fireshare instance with your first shareable video link.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ShaneIsrael/fireshare/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
- Docker 20.10 or later
- Docker Compose v2 (the
docker composeplugin) or the standalonedocker-composev1 binary - A folder of video files you want to share (
.mp4,.m4v,.mov, or.webm)
If you want NVIDIA GPU-accelerated transcoding, use the standard
shaneisrael/fireshare:latest image instead of the lite image shown below, and follow the GPU setup instructions in the Transcoding guide. For most users, the lite image is the right choice.Deploy with Docker Compose
Create your docker-compose.yml
Create a new directory for Fireshare and save the following file as
docker-compose.yml inside it. Replace the volume paths with real directories on your host, and replace the placeholder credentials with values of your choice.Create the host directories
Create the four directories you referenced in the volume mounts. Fireshare writes to Run
/data and /processed, so those directories must be writable by the PUID/PGID you configured.id to find your current user’s UID and GID, then set PUID and PGID to match:Start the container
From the directory containing your Docker pulls the image on first run. Subsequent starts are immediate. The container is ready when you see gunicorn log lines in
docker-compose.yml, run:docker-compose logs -f fireshare.Open Fireshare in your browser
Navigate to
http://localhost:8080. You will be redirected to the login page.Sign in with the ADMIN_USERNAME and ADMIN_PASSWORD you set in the Compose file. If you did not set those variables, the default credentials are admin / admin.Wait for the initial video scan
After login, Fireshare begins scanning the
/videos directory for supported files (.mp4, .m4v, .mov, .webm). The scan runs automatically on startup and then repeats every five minutes by default (controlled by MINUTES_BETWEEN_VIDEO_SCANS).Once the scan finishes, your clips appear in the dashboard. Click any video card to open the detail view, where you can copy the unique shareable link.Deploy with Docker Run
If you prefer a single command without a Compose file, the equivalentdocker run command is:
Volume Mounts Reference
All four volume mounts are required for Fireshare to start. The container’s entrypoint validates that/data, /videos, and /processed are mounted and exits with an error if any are missing. /images is optional — if not mounted, uploaded images will not persist across restarts.
| Mount | Purpose |
|---|---|
/data | SQLite database, lock files, and internal state |
/processed | Generated metadata: poster thumbnails, boomerang previews, and symlinks to source files |
/videos | Your source video directory. Fireshare scans this directory for clips to index. |
/images | Your source image directory. Fireshare scans this directory for images to index. |
Key Environment Variables
| Variable | Required | Description |
|---|---|---|
ADMIN_USERNAME | Yes | Username for the initial admin account. |
ADMIN_PASSWORD | Yes | Password for the initial admin account. |
SECRET_KEY | Yes | Flask session encryption key. If omitted, a random key is generated on each restart, invalidating all active sessions. |
DOMAIN | Yes* | The hostname where Fireshare is reachable (e.g. v.fireshare.net). Required for Open Graph link previews to render correctly in Discord and other platforms. Do not include http:// or https://, and do not surround the value in quotes. |
PUID | Yes | UID the container process runs as. Files written to your volumes are owned by this user. Defaults to 1000. |
PGID | Yes | GID the container process runs as. Defaults to 1000. |
DOMAIN is not required for the container to start, but without it, shared links will not produce rich previews when pasted into Discord, Slack, Twitter/X, or other platforms that read Open Graph metadata.