diff --git a/docker-compose.yml b/docker-compose.yml index a5ef2bd..ba20419 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -136,6 +136,12 @@ volumes: type: nfs o: addr=192.168.0.6,rw,nfsvers=4.1,async device: :/volume1/downloads + kometa_config: + driver: local + driver_opts: + type: nfs + o: addr=192.168.0.6,rw,nfsvers=4.1,async + device: :/volume1/docker/kometa ########################### SERVICES services: @@ -811,3 +817,34 @@ services: ## HTTP Services - "traefik.http.routers.librespeed-rtr.service=librespeed-svc" - "traefik.http.services.librespeed-svc.loadbalancer.server.port=80" + + # Kometa - Plex Collection Manager + kometa: + container_name: kometa + image: kometateam/kometa:latest + restart: unless-stopped + security_opt: + - no-new-privileges:true + networks: + - t2_proxy + volumes: + - kometa_config:/config + environment: + - PUID=$PUID + - PGID=$PGID + - TZ=$TZ + - KOMETA_TIMES=01:00 + - PLEX_TOKEN=$PLEX_TOKEN + - TMDB_API_READ_ACCESS_TOKEN=$TMDB_API_READ_ACCESS_TOKEN + logging: *default-logging + labels: + - "traefik.enable=true" + ## HTTP Routers + - "traefik.http.routers.kometa-rtr.entrypoints=https" + - "traefik.http.routers.kometa-rtr.rule=Host(`kometa.$DOMAINNAME`)" + - "traefik.http.routers.kometa-rtr.tls=true" + ## Middlewares + - "traefik.http.routers.kometa-rtr.middlewares=chain-authelia@file" + ## HTTP Services + - "traefik.http.routers.kometa-rtr.service=kometa-svc" + - "traefik.http.services.kometa-svc.loadbalancer.server.port=4000" diff --git a/env.example b/env.example index d1fa37b..8bb058e 100755 --- a/env.example +++ b/env.example @@ -17,3 +17,6 @@ CLOUDFLARE_API_KEY= CLOUDFLARE_ZONEID= PIHOLE_PWD= + +PLEX_TOKEN= +TMDB_API_READ_ACCESS_TOKEN= diff --git a/kometa/config.yml.example b/kometa/config.yml.example new file mode 100644 index 0000000..35a5287 --- /dev/null +++ b/kometa/config.yml.example @@ -0,0 +1,36 @@ +## Kometa Configuration +## Copy to /mnt/docker/kometa/config.yml and fill in your Plex token. +## Retrieve token: Plex Web → Account → Account Settings → Plex Web Preferences → X-Plex-Token + +plex: + url: http://plex:32400 + token: <> + +tmdb: + apikey: <> + language: en + region: US + +libraries: + Movies: + collection_files: + - default: basic # Popular, Trending, etc. + - default: imdb # IMDb Top 250, Most Popular, etc. + - default: tmdb # TMDb Popular, Top Rated + - default: franchise # Movie franchises (James Bond, MCU, etc.) + - default: universe # Cinematic universes (Marvel, DC, etc.) + - default: decade # 1980s, 1990s, 2000s, etc. + - default: genre # Action, Comedy, Drama, etc. + - default: studio # Warner Bros, Universal, etc. + - default: director # Notable directors + - default: seasonal # Holiday/seasonal collections + +settings: + cache: true + cache_expiration: 60 + asset_directory: /config/assets + run_order: + - collections + - metadata + - overlays + - operations diff --git a/scripts/validate-traefik.sh b/scripts/validate-traefik.sh index 9f96095..9550760 100755 --- a/scripts/validate-traefik.sh +++ b/scripts/validate-traefik.sh @@ -78,6 +78,7 @@ SERVICES=( "speedtest" # LibreSpeed "homebridge" "home" # DSM (Synology) + "kometa" ) # Function to print test result