DAKOSYS is a powerful tool for Plex users that creates and manages Trakt.tv lists and Kometa/PMM overlays. It helps you categorize anime episodes by type, track TV show statuses, display media file sizes, all running in Docker with automatic scheduling.
!! Trakt VIP needed !!
-
Create overlays of Trakt.tv lists of anime episodes filtered by type (filler, manga canon, anime canon, mixed)
-
Automate list updates with customizable scheduling
-
Match episodes automatically
-
Handle special title mappings between different sources
!! No Trakt VIP needed as long as you still have 1 list to use !!
-
Create overlays showing show status (airing, ended, cancelled, returning, mid-season finale, season finale, last episode, season premiere)
-
Display air dates for upcoming episodes
-
Highlight special episodes (season finales, season premieres)
-
Generate Trakt lists of shows with upcoming episodes
!! Trakt not needed at all !!
-
Create overlays showing file sizes for movies and TV shows
-
Track size changes over time
-
Display episode counts for TV series
-
Customizable overlay appearance and positioning
-
Discord webhook integration
-
Notifications for errors, updates, and changes
-
Plex Media Server
-
Trakt.tv account
-
Trakt.tv API application
-
Docker and Docker Compose
-
Kometa/PMM (Plex Meta Manager)
- Create directories for config and data
mkdir -p dakosys/{config,data}
cd dakosys
- Download the docker-compose.yml file
curl -O https://raw.githubusercontent.com/sahara101/dakosys/main/docker-compose.yml
- Run the setup command
docker compose run --rm dakosys setup
This will guide you through creating a configuration file with options for all services.
- Start the auto-updater daemon
docker compose up -d dakosys-updater
This starts the background service that automatically runs updates according to your schedule.
Add the generated yml files to Kometa config.yml, see below examples:
Seriale:
collection_files:
- file: config/collections/seriale-next-airing.yml
overlay_files:
- file: config/overlays/size-overlays-seriale.yml
- file: config/overlays/overlay_tv_status_seriale.yml
Anime:
collection_files:
- file: config/collections/anime-next-airing.yml
- file: config/collections/anime_episode_type.yml
schedule: weekly(monday)
overlay_files:
- file: config/overlays/size-overlays-anime.yml
- file: config/overlays/fillers.yml
- file: config/overlays/manga_canon.yml
- file: config/overlays/anime_canon.yml
- file: config/overlays/mixed.yml
- file: config/overlays/overlay_tv_status_anime.yml
During setup, you can enable three main services:
- Anime Episode Type Tracker Categorizes anime episodes by type (filler, manga canon, etc.), creates Trakt lists and Kometa overlays.
Trakt free accounts are limited to 2-10 lists.
This app creates multiple lists (1 per episode type per anime).
Anime episode ordering in Plex will have to match episodes in trakt (TMDB). SO you will have to change some of them, for example One Piece.
Since this cannot be fully automated because of differences in Anime Filler List and Trakt names I have added several commands for this service, see below.
The other two services are set and forget :)
-
TV/Anime Status Tracker Creates overlays showing airing status, next episode dates, and special episodes.
-
Size Overlay Service Creates overlays displaying file sizes and episode counts.
Each service can be configured separately with different libraries and schedules.
You can always run docker compose run --rm dakosys --help to see possible commands, and then --help on each command to check how it is used.
Create all list types for an anime at once
You can type either the Plex anime name or the Anime Filler List (AFL) name (from URL). For Example https://www.animefillerlist.com/shows/boruto-naruto-next-generations whereas boruto-naruto-next-generations is the name you need.
The command below will first try to find the name in Plex. If it is a direct copy from Plex it will match it directly, if not it will try to find it. Then, it tries to match the Plex name to AFL. It uses a matching logic and asks if the found anime is the correct one. Please read the outputs. See an example at the end of README.
docker compose run --rm dakosys create-all "One-Piece"
Create a list of filler episodes
docker compose run --rm dakosys create-list "Naruto-Shiuden" FILLER
Fix mapping errors for episodes
docker compose run --rm dakosys fix-mappings
List all available anime on Anime Filler List
docker compose run --rm dakosys list-anime
Show all episodes with their types
docker compose run --rm dakosys show-episodes "Demon Slayer Kimetsu No Yaiba"
Delete a list
docker compose run --rm dakosys delete-list bleach FILLER
Delere more lists at once
docker compose run --rm dakosys list-lists --format plain --anime "One Punch Man" | xargs -n2 docker compose run --rm --no-TTY dakosys delete-piped --force
Add an anime to automatic updates
docker compose run --rm dakosys schedule add "Jujutsu Kaisen"
Remove an anime from automatic updates
docker compose run --rm dakosys schedule remove "Dragon Ball"
List all automatically updated anime
docker compose run --rm dakosys schedule list
Run an immediate update of all services
docker compose run --rm dakosys run-update all
Run an immediate update of a specific service
docker compose run --rm dakosys run-update tv_status_tracker
List all Trakt lists created by DAKOSYS
docker compose run --rm dakosys list-lists
List all Trakt lists for a specific anime
docker compose run --rm dakosys list-lists --anime "Attack on Titan"
Manually synchronize collections file This command will sync the Kometa collections file with all generated trakt lists. Useful in case the file gets deleted/altered.
docker compose run --rm dakosys sync-collections
You can configure when updates run by editing the scheduler section in your config.yaml file. Each service can have its own schedule:
anime_episode_type:
type: "daily"
times: ["03:00"]
tv_status_tracker:
type: "hourly"
minute: 30
size_overlay:
type: "weekly"
days: ["sunday"]
time: "04:00"
Available schedule types:
hourly: Run every hour at the specified minute
daily: Run every day at specified times
weekly: Run on specified days of the week at a set time
monthly: Run on specified dates of the month at a set time
DAKOSYS can send notifications to Discord about:
-
New episodes added to lists
-
Mapping errors that need attention
-
List deletions
New Episodes Added: The Seven Deadly Sins: Four Knights of the Apocalypse
Successfully added 22 new manga episodes for The Seven Deadly Sins: Four Knights of the Apocalypse.
Added Episodes
The Four Knights of the Apocalypse
The Demon of Echo Gorge
A Resolve Further Honed
Sistana Shaken
The Name of the Magic
Young Heroes
Master and Pupil
Roar of Destruction
A Real Holy Knight
A Sinister Endeavor
... and 12 more episodes
Mapping Errors: Seven Deadly Sins Four Knights Apocalypse
Failed to map 2 manga episodes for Seven Deadly Sins Four Knights Apocalypse.
Failed Episodes
The Boy Sets Out on Adventure
Unknown Power
Error Details
Failed to find match for the boy sets out on adventure
Failed to find match for unknown power
Run 'docker compose run --rm dakosys fix-mappings' to resolve these issues
Size Overlay Service - New Media and Episodes
Detected 1 new item, 2 shows with new episodes, 1 quality change, and 1 removed item. Total change: +17.96 GB
Media Libraries
β’ Filme: 11.81 TB - 387 movies
β’ Anime: 3.30 TB - 29 shows (3227 episodes)
β’ Seriale: 14.71 TB - 108 shows (4783 episodes)
Total Media Size
29.82 TB across 387 movies and 137 shows with 8010 episodes.
Changes Detected
Seriale
β’ NEW: Paw Patrol (7 episodes) - 8.20 GB
β’ NEW EPISODES: Severance (18 episodes, +1 new) - 142.73 GB β 150.53 GB (+7.80 GB)
β’ NEW EPISODES: Ghosts (US) (66 episodes, +1 new) - 134.79 GB β 137.05 GB (+2.26 GB)
Anime
β’ QUALITY CHANGE: Dr. STONE (67 episodes) - 133.50 GB β 134.70 GB (+1.20 GB)
Filme
β’ REMOVED: Solo Leveling -ReAwakening- - 1.50 GB
TV/Anime Status Updates
Processed 137 shows. Found changes for 11 shows.
Now Airing (5)
β’ Solo Leveling (15/03)
β’ Dr. STONE (20/03)
β’ Reacher (20/03)
β’ Ghosts (US) (04/04)
β’ One Piece (06/04)
Season Premieres (5)
β’ Black Butler (05/04)
β’ Black Mirror (10/04)
β’ The Last of Us (14/04)
β’ Squid Game (27/06)
β’ FROM (23/09)
Season Finales (1)
β’ Severance (21/03)
TV show status changes
Media size changes
To enable notifications, provide a Discord webhook URL during setup.
You can monitor the DAKOSYS services through various logs:
View logs from the updater service
docker compose logs -f dakosys-updater
Service-specific logs in the data directory:
- data/anime_trakt_manager.log
- data/tv_status_tracker.log
- data/size_overlay.log
- data/notifications.log
- data/auto_update.log
- data/scheduler.log
Mapping errors log
cat data/failed_episodes.log
If episodes are missing, use the mapping fix tool:
docker compose run --rm dakosys fix-mappings
This interactive tool helps you create custom mappings for problematic episodes.
Test your scheduler configuration
docker compose run --rm dakosys test-scheduler
docker compose run --rm dakosys test-notification
For advanced users, the full configuration is stored in config/config.yaml. You can also use service-specific setup:
Run setup for just one service
docker compose run --rm dakosys setup anime_episode_type
docker compose run --rm dakosys setup tv_status_tracker
docker compose run --rm dakosys setup size_overlay
docker compose run --rm dakosys create-all "Bleach"
Connecting to Plex server...
Connected to Plex server successfully!
Found direct match in Plex: Bleach
Fetching anime list from AnimeFillerList...
Looking for AnimeFillerList match for: Bleach
Trying variations: bleach
Found exact match on full title: bleach
Found match: bleach
Use this match? [Y/n]: y
2025-03-10 23:16:01,031 - mappings_manager - INFO - Saved mappings to /app/config/mappings.yaml
Added mapping: bleach β Bleach
Using mapping: bleach β Bleach
Looking for 'Bleach' in Plex libraries...
Found TMDB ID: 30984
Found Trakt show ID: 30850
Checking for MANGA episodes...
Found 162 MANGA episodes:
1. Episode 1: The Day I Became a Shinigami (Manga Canon)
2. Episode 2: The Shinigami's Work (Manga Canon)
3. Episode 3: The Older Brother's Wish, the Younger Sister's Wish (Manga Canon)
4. Episode 4: Cursed Parakeet (Manga Canon)
5. Episode 5: Beat the Invisible Enemy! (Manga Canon)
... and 157 more episodes
Trakt list 'bleach_manga canon' created successfully with ID 30876171.
Processing episodes... ββββββββββββββββββββββββββββββββββββββββ 100%
Adding 162 episodes in batches...
Rate limit hit, retrying batch 17 in 1s... ββββββββββββββββββββββββββββββββββββββββ 100%
Summary:
Successfully added: 162 episodes
Already in list (skipped): 0 episodes
Failed to add: 0 episodes
List created: https://trakt.tv/users/sahara/lists/bleach_manga-canon
Checking for FILLER episodes...
Found 163 FILLER episodes:
1. Episode 33: Miracle! The Mysterious New Hero (Filler)
2. Episode 50: The Reviving Lion (Filler)
3. Episode 64: New School Term, Renji Has Come to the Material World?! (Filler)
4. Episode 65: Creeping Terror, the Second Victim (Filler)
5. Episode 66: Breakthrough! The Trap Hidden in the Labyrinth (Filler)
... and 158 more episodes
Trakt list 'bleach_filler' created successfully with ID 30876173.
Processing episodes... ββββββββββββββββββββββββββββββββββββββββ 100%
Adding 163 episodes in batches...
Rate limit hit, retrying batch 17 in 1s... ββββββββββββββββββββββββββββββββββββββββ 100%
Summary:
Successfully added: 163 episodes
Already in list (skipped): 0 episodes
Failed to add: 0 episodes
List created: https://trakt.tv/users/sahara/lists/bleach_filler
Checking for ANIME episodes...
No ANIME episodes found for bleach
Checking for MIXED episodes...
Found 41 MIXED episodes:
1. Episode 8: June 17, Memories in the Rain (Mixed Canon/Filler)
2. Episode 27: Release the Death Blow! (Mixed Canon/Filler)
3. Episode 32: Stars and the Stray (Mixed Canon/Filler)
4. Episode 46: Authentic Records! School of Shinigami (Mixed Canon/Filler)
5. Episode 109: Ichigo and Rukia, Thoughts in the Revolving Around Heaven (Mixed Canon/Filler)
... and 36 more episodes
Trakt list 'bleach_mixed canon/filler' created successfully with ID 30876176.
Processing episodes... ββββββββββββββββββββββββββββββββββββββββ 100%
Adding 41 episodes in batches...
Rate limit hit, retrying batch 5 in 1s... ββββββββββββββββββββββββββββββββββββββββ 100%
Summary:
Successfully added: 41 episodes
Already in list (skipped): 0 episodes
Failed to add: 0 episodes
List created: https://trakt.tv/users/sahara/lists/bleach_mixed-canon-filler
π List creation complete! π
Created lists:
β MANGA: 162 episodes - https://trakt.tv/users/sahara/lists/bleach_manga-canon
β FILLER: 163 episodes - https://trakt.tv/users/sahara/lists/bleach_filler
β MIXED: 41 episodes - https://trakt.tv/users/sahara/lists/bleach_mixed-canon-filler
Would you like to add 'Bleach' to the automatic update schedule? [Y/n]: n
'Bleach' will not be automatically updated.
Episode types with no episodes:
β ANIME: No episodes found
Synchronizing collections file with Trakt lists...
Collections synchronized successfully!
Updated file: /kometa/config/collections/anime_episode_type.yml


