Add metadata to your subtitles with Sublogue
Sublogue inserts story context into your subtitle files using OMDb, TMDb, and TVMaze. It can also clean out ad blocks like YTS promo text while preserving timing, so every subtitle reads cleanly.
Overview
Sublogue scans your subtitle folders, pulls metadata from OMDb, TMDb, and TVMaze, then injects plots, ratings, and credits directly into SRT files without touching timing.
- Preserve original subtitle timing while enriching content.
- Remove ad text and promo lines from SRT files (YTS and similar).
- Choose preferred metadata sources per scan.
- Monitor integration usage and cache clearing in settings.
Quickstart
Launch the container, point Sublogue at your media folder, then open the UI and run a scan.
Docker CLI
docker run -d \
--name sublogue \
-p 5000:5000 \
-e TZ=Etc/UTC \
-e PUID=1000 -e PGID=1000 \
-v ./data:/config \
-v ./media:/media \
ponzischeme89/sublogue:latest
Open UI
Head to Settings -> Integrations to add your metadata providers and start scanning.
Install
🐳 Docker Compose
Ideal for Portainer, Synology, or homelab setups.
version: "3.9"
services:
sublogue:
image: ponzischeme89/sublogue:latest
container_name: sublogue
restart: unless-stopped
environment:
- TZ=Etc/UTC
- PUID=1000
- PGID=1000
volumes:
- ./data:/config
- ./media:/media
ports:
- "5000:5000"
🧰 Unraid
Use the bundled template and map volumes into /config and /media.
/mnt/user/appdata/sublogue -> /config
/mnt/user/media -> /media
🐲 Komodo
Paste a stack template and attach the NPM network.
version: "3.9"
services:
sublogue:
image: ponzischeme89/sublogue:latest
container_name: sublogue
environment:
- TZ=Etc/UTC
ports:
- "5000:5000"
volumes:
- /volume1/Docker/sublogue/data:/config
- /volume1/Media:/media
restart: unless-stopped
networks:
- npm_network
networks:
npm_network:
external: true
Clean SRTs
Remove ad blocks like YTS and other promo lines without touching timing. Sublogue keeps subtitle order intact while cleaning the text.
Before
YTS1
00:00:01,000 --> 00:00:04,000
Visit YTS.mx for more movies
2
00:00:05,000 --> 00:00:07,200
Grab the latest releases
After
Clean1
00:00:08,000 --> 00:00:10,200
You are early.
Ad-only blocks are removed, while the rest of the subtitle content remains untouched.
Metadata Examples
Sublogue can insert plots, runtimes, directors, and ratings right into the subtitle header for quick context before the dialogue begins.
Plot + Runtime
Injected Header
Plot
A retired detective returns for one last case and uncovers a hidden network in the city.
Runtime: 112 min
Director + Cast
Injected Header
Director
Ava Solomon
Cast
J. Harper, L. Chen, M. Brooks
Ratings
Injected Header
Sublogue metadata branding
Integrations
Start with zero providers enabled. Add OMDb, TMDb, or TVMaze when you have keys ready. Each scan can choose its preferred source.
API Notes
Sublogue expects your media folders to be readable by the container. Large scans stream results to the UI while the API continues processing in the background.
Volumes
Map /config for settings and /media for subtitle files.
Status
Scan progress appears in the UI with streaming rows as files are processed.
Settings
Integrations remain disabled until you add keys in the Settings tab.
Join the Community
Jump into the ponzischeme89 Discord and visit #sublogue-support for help, updates, and feature requests.