Self-hosted, open-source media browser and player. Browse your local movie and TV show library through a streaming-service-style UI with carousel banners, genre filtering, episode lists, and a full-featured video player.
Built with Bun, React, Bootstrap, and SQLite. FFmpeg is bundled for on-the-fly transcoding of MKV / AVI / WMV. Optional KaidaDB backend for range-seekable remote streaming.
.toml per title folderlatest — newest stable buildX.Y.Z — pinned version (e.g. 1.0.0)docker run -d \
--name reelscape \
-p 3000:3000 \
-v reelscape-data:/usr/src/app/data \
-v /path/to/your/media:/media \
javanhut/reelscape:latest
Open http://localhost:3000, click the profile icon → Settings, and point the Movies and TV Shows directories at /media/Movies and /media/TV Shows.
docker-compose
services:
reelscape:
image: javanhut/reelscape:latest
container_name: reelscape
ports:
- "3000:3000"
volumes:
- reelscape-data:/usr/src/app/data
- /path/to/your/media:/media
environment:
- NODE_ENV=production
restart: unless-stopped
volumes:
reelscape-data:
Volumes
┌──────────────────────┬──────────────────────────────────────────────────────┐
│ Path │ Purpose │
├──────────────────────┼──────────────────────────────────────────────────────┤
│ /usr/src/app/data │ SQLite DB + avatars (persist this) │
├──────────────────────┼──────────────────────────────────────────────────────┤
│ /media (recommended) │ Your library — mount read-only with :ro if preferred │
└──────────────────────┴──────────────────────────────────────────────────────┘
Ports
- 3000/tcp — web UI + API
Environment
┌──────────────────┬───────────────────┬──────────────────────────────┐
│ Var │ Default │ Description │
├──────────────────┼───────────────────┼──────────────────────────────┤
│ NODE_ENV │ production │ Bun runtime mode │
├──────────────────┼───────────────────┼──────────────────────────────┤
│ OSSFLIX_DATA_DIR │ /usr/src/app/data │ DB + avatar storage location │
└──────────────────┴───────────────────┴──────────────────────────────┘
Media Layout
Each title lives in its own folder with a .toml file, a banner image, and video files:
Movies/YourMovie/ metadata.toml banner.jpg movie.mp4
TV Shows/YourShow/ metadata.toml banner.jpg YourShow_s01_ep01.mkv YourShow_s01_ep02.mkv
Minimal metadata.toml:
```toml
[series]
name = "Your Title"
type = "Movie" # or "TV Show"
description = "..."
genre = ["Action", "Drama"]
cast = ["Actor One"]
season = 1 # required for TV shows
episodes = 10
Supported video: .mp4, .webm (served directly); .mkv, .avi, .wmv (transcoded via FFmpeg).
Source & Docs
GitHub: https://github.com/javanhut/OSSFlix — full docs, KaidaDB integration, API reference, and keybindings.
License
Open source — see LICENSE in the repo.
Content type
Image
Digest
sha256:8ec88e19f…
Size
310.4 MB
Last updated
5 months ago
docker pull javanhut/reelscape