Organize your media library with ease - without moving or duplicating your files!

Linkarr - Media Organizer
Organize your media library with ease - without moving or duplicating your files!
- ๐ฆ No file moving/copying: Monitors for changes, and then organizes your media with symlinks only.
- ๐งฒ Perfect for seeding/usenet: Works with files managed by torrent or usenet clients.
- ๐ฌ Jellyfin ready: Import organized folders directly into your media server.
- ๐ณ Easy Docker deployment: Run anywhere, just map your folders.
Example:
| | ๐ Before (Source Folder) | ๐ After (Organized Folder) | |---|-----------------------------|-------------------------------| | TV | /media/TV/
โโ ๐Show.Name.S01/
โโโ Show.Name.S01E01.1080p.mkv
โโโ Show.Name.S01E02.1080p.mkv
โโ๐ Show.Name.S02/
โโโ Show.Name.S02E01.1080p.mkv
โโโ Show.Name.S02E02.1080p.mkv
โโโ Another.Show.Name.S04E07.1080p.mkv | /organized/TV/
โโ๐๏ธ Show Name/
โโ๐ Season 01/
โโ๐ Show.Name.S01E01.1080p.mkv
โโ๐ Show.Name.S01E02.1080p.mkv
โโ๐ Season 02/
โโ๐ Show.Name.S02E01.1080p.mkv
โโ๐ Show.Name.S02E02.1080p.mkv
โโ๐๏ธ Another Show Name/
โโ๐ Season 04/
โโ๐ Show.Name.S04E07.1080p.mkv | | Movies | /media/Movies/
โโ๐ Movie.Title.2023.1080p/
โโโ Movie.Title.2023.1080p.mkv
โโโ Another.Movie.Title.2024.1080p.mkv | /organized/Movies/
โโ๐ Movie Title (2023)/
โโ๐ Movie.Title.2023.1080p.mkv
โโ๐ Another Movie Title (2024)/
โโ๐ Another.Movie.Title.2024.1080p.mkv |
Getting started
๐ Docker Usage (Recommended)
You will need Docker installed on your system.
Important: You must map your source and destination folders to the same paths inside the container as on your host system. This ensures symlinks work correctly.
docker run -d \
-v /path/to/source:/path/to/source \
-v /path/to/organized:/path/to/organized \
-v $(pwd)/config.json:/config/config.json \
itsmejoeeey/linkarr:latest
Or with Docker Compose:
services:
my-linkarr:
image: itsmejoeeey/linkarr:latest
container_name: linkarr
# Pass in your config file below, by specifying the path on your host machine
volumes:
- /path/to/source:/path/to/source
- /path/to/organized:/path/to/organized
- ./config.json:/config/config.json
restart: unless-stopped
See Configuration for details on configuring.
- Make sure to provide a valid config.json. - Replace /path/to/source and /path/to/organized with your actual media paths.
Running manually
- Install dependencies:
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
- Copy and edit the example config:
cp config.example.json config.json
# Edit config.json to match your source/destination folders and preferences
- Run the organizer:
cd src
python -m linkarr.main ../config.json
Configuration
See config.example.json and src/linkarr/config.schema.json for configuration options.