Your game clips sorted into
Plex collections, automatically.

ReplayTagger watches your clips folder and tags every file with its game, so Plex builds a clean per-game collection for you. No re-encoding. No manual sorting. No cloud.

MIT licensed No telemetry Runs on your hardware
Plex · Gaming Clips · Collections
Per-game collections in Plex, built automatically by ReplayTagger
The payoff

From a folder full of Replay_2025-06-12.mp4
to a shelf of real collections.

Your capture software already saves clips into a folder per game. ReplayTagger reads those folder names and turns them into Plex collections, with nothing to rename by hand.

Before: just folders of clips
📁 Apex Legends
Replay 2025-06-12 21.33.04.mp4
Replay 2025-06-12 21.41.55.mp4
📁 Counter-Strike 2
Replay 2025-06-10 23.18.47.mp4
Desktop 2025-06-08 20.14.09.mp4
📁 Battlefield 6
Replay 2025-06-09 02.55.31.mp4
📁 …and 5 more game folders
After: Plex collections
Apex Legends60 clips
Counter-Strike 264 clips
Battlefield 629 clips
Call of Duty: Warzone31 clips
How it works

Four steps, fully hands-off

Once it's running, you never touch it again. New clips get tagged the moment they land.

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: capture, sync, tag, then route to Plex, YouTube, and notifications
Why ReplayTagger

Built for self-hosters

One container, your hardware, your rules.

Performance

No re-encoding

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

Compatibility

Any capture tool

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

Deploy

Runs on your server

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

Archive

Optional YouTube archive

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

Alerts

Webhook notifications

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

Open source

Free & auditable

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
FAQ

Questions, answered

Will it re-encode or hurt my clip quality?+

No. ffmpeg only remuxes the container to write a metadata tag, then atomically replaces the original and restores its timestamp. The video and audio streams are copied bit-for-bit, so there's no quality loss and no extra disk churn.

What capture software is supported?+

Anything that saves clips into per-game subfolders: NVIDIA Instant Replay, OBS, AMD ReLive, and others. ReplayTagger reads the folder name as the game name, so no integration or game database is required.

Does it touch the cloud or my Plex account?+

It runs entirely on your hardware and talks to your local Plex server with a token you generate during setup. There are no accounts, no third-party services, and no telemetry. The optional YouTube archive is the only feature that reaches the internet, and it's off by default.

What do I need to run it?+

Docker on any NAS or Linux host, a running Plex server, and a clips folder reachable by the container. The built-in doctor command checks connectivity, ffmpeg, and paths before you go live.

Is it really free?+

Yes. MIT licensed and fully open source. Read every line, fork it, or open a PR.