Fireshare includes a full image library that runs alongside the video library. Mount a directory atDocumentation 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.
/images, and Fireshare will scan it, generate thumbnails, produce WebP-optimized versions for fast delivery, and assign every image a permanent shareable URL. The same game and tag organization system used for videos applies to images, making it straightforward to keep your screenshots and clips filed together.
Volume Mount Requirement
The image library requires a/images volume mount in your Docker configuration. Without it the image scanner will not run and the image API endpoints will return 503.
Supported Formats
| Extension | MIME type |
|---|---|
.jpg / .jpeg | image/jpeg |
.png | image/png |
.webp | image/webp |
.gif | image/gif |
Auto-Scan and Directory Structure
The image scanner mirrors the video scanner: it runs on the sameMINUTES_BETWEEN_VIDEO_SCANS interval and walks the entire /images directory tree. Each immediate subdirectory becomes a named folder in the UI under the Images section.
MediaFolder table with media_type = "image". Folders can be shared via a unique URL and their privacy can be toggled independently of the images they contain.
Unique Share URLs
Every scanned image receives a 32-character heximage_id and is accessible at:
401 to unauthenticated requests.
Image Metadata
Each image’s metadata is stored in theImageInfo model:
| Field | Description |
|---|---|
title | Display name (defaults to the filename without extension) |
description | Optional freeform caption shown on the image detail page |
private | Whether the image is hidden from public listings (default: true) |
width | Native width in pixels, extracted at scan time |
height | Native height in pixels, extracted at scan time |
file_size | Size of the source file in bytes |
has_webp | true when a full-quality WebP conversion exists |
has_thumbnail | true when a thumbnail WebP has been generated |
Privacy Default
Like videos, all newly scanned images default toprivate: true. The global default is controlled by the image_defaults.private key in config.json. A private image is still reachable via its direct /i/<image_id> URL but will not appear in any public listing.
Thumbnails and WebP Delivery
When an image is scanned for the first time, Fireshare generates two derived files stored in/processed/derived/<image_id>/:
| File | Purpose |
|---|---|
image.webp | Full-quality WebP conversion for fast delivery |
thumbnail.webp | Resized WebP used for grid/card previews |
- If
image.webpexists → serve it withimage/webp. - Otherwise → serve the original file via the symlink at
/processed/image_links/<image_id><ext>.
thumbnail.webp → image.webp → original file.
Serving Image Files
| Endpoint | Description |
|---|---|
GET /api/image?id=<image_id> | Serve the image (WebP if available, else original) |
GET /api/image/original?id=<image_id> | Download the unmodified original file |
GET /api/image/thumbnail?id=<image_id> | Serve the thumbnail WebP |
Game and Tag Linking
Images participate in the same game and tag system as videos.Linking an Image to a Game
ImageFolderRule model) work identically to video folder rules: mapping a subfolder of /images to a game automatically links every image in that folder to the game.
Applying Tags to Images
/tags alongside video counts, and the tag search syntax (#tagname) works identically in the image library.
View Count Tracking
The image library tracks unique views per IP address, mirroring the video view system. Views are recorded by posting to:File Manager
The admin file manager at/files covers images in addition to videos. From there you can rename files, move them between folders, toggle privacy in bulk, and delete images. Deleting an image through the file manager removes the source file, the symlink in /processed/image_links/, the derived directory in /processed/derived/, and all associated database records (ImageInfo, ImageGameLink, ImageTagLink, ImageView).
Video Library
See how the video library scan and metadata extraction work — the image library follows the same patterns.
Games & Tags
Organize images by game with SteamGridDB cover art and apply cross-category tags.
Uploads
Upload screenshots directly through the browser alongside video uploads.
File Manager
Rename, move, and bulk-manage images and videos from the admin file manager.
