Turn game clips into
Plex collections.

ReplayTagger watches your clips folder and tags each file with its game name, so Plex builds per-game collections automatically. No re-encoding, no manual sorting.

NVIDIA Instant Replay OBS AMD ReLive Plex
How it works

From clip to collection

Your capture software already organizes clips into per-game folders. ReplayTagger turns those folder names into Plex collections, without re-encoding a single frame.

1

Capture

A clip lands in a per-game folder on your gaming PC.

2

Sync

A tool like Syncthing delivers it to your server.

3

Tag

ReplayTagger writes the game name into the clip's genre metadata with ffmpeg.

4

Collect

Plex reads the tag and drops the clip into the matching game collection.

ReplayTagger flow diagram
Why ReplayTagger

Built for self-hosters

One container, your hardware, your rules.

No re-encoding

ffmpeg remuxes to a temp file, atomically replaces the original, and restores its timestamp. Identical bytes except the tag.

🎮

Any capture tool

NVIDIA, OBS, AMD ReLive, or anything that saves clips into per-game subfolders. The folder name is all it needs.

📁

Runs on your server

One Docker container on your NAS or homelab box. It just needs network access to Plex and the clips folder.

📺

Optional YouTube archive

Queue uploads automatically. Each file is fingerprinted so it's never uploaded twice, even after a rename.

🔔

Webhook notifications

Fire a notification when clips are tagged or uploaded, including ntfy and other webhook targets.

🔒

Free and open source

MIT licensed, built for homelab and self-hosted setups. No accounts, no telemetry.

Quickstart

Running in five commands

Already running Plex and Docker? Copy-paste this.

bash
# grab the compose file and env template
curl -O https://raw.githubusercontent.com/iamclements/replay-tagger/main/docker-compose.yml
curl -O https://raw.githubusercontent.com/iamclements/replay-tagger/main/.env.example && mv .env.example .env
$EDITOR .env                                          # set CLIPS_DIR, PLEX_URL, PLEX_LIBRARY_NAME

docker compose run --rm replaytagger plex-auth        # guided login, saves the Plex token
docker compose run --rm replaytagger doctor           # verify connectivity, ffmpeg, paths
docker compose up -d                                  # tag clips, then watch for new ones
Plex showing per-game collections built by ReplayTagger
Per-game collections in Plex, built automatically from your clip folders.

Stop sorting clips by hand

Free, open source, and running in minutes.