Skip to content

TDarr

Media File Management and Encoding Automation

tdarr diagram

TDarr is an open-source media file management and encoding automation tool designed to streamline the process of organizing, optimizing, and converting multimedia files. With TDarr, users can automate the transcoding and optimization of media files, ensuring compatibility, quality, and consistency across different devices and platforms.

Key Features

  • Media File Analysis: TDarr analyzes media files to identify inconsistencies, errors, and optimization opportunities, allowing users to optimize and standardize their media library.
  • Encoding Automation: TDarr automates the process of transcoding and encoding media files to ensure compatibility with specific devices, formats, and streaming services.
  • Customizable Workflows: TDarr supports customizable workflows and presets for encoding settings, enabling users to tailor the transcoding process to their specific requirements and preferences.
  • Batch Processing: TDarr facilitates batch processing of media files, allowing users to process multiple files simultaneously and optimize their media library efficiently.
  • Integration with Media Servers: TDarr integrates with media servers such as Plex and Jellyfin, enabling seamless integration of transcoded and optimized media files into streaming and playback environments.

Getting Started

To get started with TDarr, visit the GitHub repository for installation instructions, configuration guidelines, and documentation. Follow the provided setup guides to deploy TDarr on your server and configure it to analyze and optimize your media files.

Community and Support

Join the TDarr community on GitHub to engage with other users, report issues, contribute code, and stay informed about the latest updates and developments. Participate in community discussions, share feedback, and collaborate on improving and enhancing the TDarr media file management and encoding automation tool.

Automate media file management and optimization with TDarr—a powerful and flexible tool for transcoding, encoding, and organizing multimedia files.

Volumes

/nfs-nas-swarm/config/
/nfs-nas-swarm/data/

Deployment

No Special requirments

Docker swarm file

## it should be upgraded to 2.27.02
# it should work if all files are copied
# delete all job reports: https://docs.tdarr.io/docs/other/job-reports 

version: '3.3'
services:
  tdarr:
    image: ghcr.io/haveagitgat/tdarr:2.27.02
    environment:
      NVIDIA_DRIVER_CAPABILITIES: all
      NVIDIA_VISIBLE_DEVICES: all
      # PGID: '911'
      # PUID: '911'
      TZ: Europe/Amsterdam
      UMASK_SET: '002'
      ffmpegVersion: '6'
      inContainer: 'true'
      internalNode: 'true'
      nodeName: server
      serverIP: 0.0.0.0
      serverPort: '8266'
      webUIPort: '8265'
    ports:
     - 8266:8266
    volumes:
     - /swarm/config/tdarr/server:/app/server
     - /swarm/config/tdarr/configs:/app/configs
     - /swarm/config/tdarr/logs:/app/logs
     - /media_pool/media:/data
     - /media_pool/tdarr/transcode_cache:/tmp
    networks:
     - internal
     - traefik-public
    logging:
      driver: json-file
    deploy:
      labels:
        traefik.http.routers.tdarr-http.middlewares: https-redirect
        traefik.http.routers.tdarr-https.tls: 'true'
        traefik.http.routers.tdarr-https.entrypoints: https
        traefik.http.services.tdarr.loadbalancer.server.port: '8265'
        traefik.constraint-label: traefik-public
        traefik.http.routers.tdarr-https.tls.certresolver: le
        traefik.http.routers.tdarr-http.entrypoints: http
        traefik.docker.network: traefik-public
        traefik.enable: 'true'
        traefik.http.routers.tdarr-https.rule: Host(`tdarr.vnerd.nl`)
        traefik.http.routers.tdarr-https.middlewares: authelia
        traefik.http.routers.tdarr-http.rule: Host(`tdarr.vnerd.nl`)
      placement:
        constraints:
         - node.labels.Arch!=i686
         - node.hostname==pxsw01.karam.lab
  tdarr-node-pxsw01:
    image: ghcr.io/haveagitgat/tdarr_node:2.27.02
    environment:
      NVIDIA_DRIVER_CAPABILITIES: all
      NVIDIA_VISIBLE_DEVICES: all
      # PGID: '911'
      # PUID: '911'
      TZ: Europe/Amsterdam
      UMASK_SET: '002'
      ffmpegVersion: '6'
      inContainer: 'true'
      nodeName: node-pxsw01
      serverIP: tdarr
      serverPort: '8266'
    volumes:
     - /swarm/config/tdarr/configs:/app/configs
     - /swarm/config/tdarr/logs:/app/logs
     - /media_pool/media:/data
     - /media_pool/tdarr/transcode_cache:/tmp
    networks:
     - internal
    logging:
      driver: json-file
    deploy:
      placement:
        constraints:
         - node.labels.Arch!=i686
         - node.hostname==pxsw01.karam.lab
  tdarr-node-pxsw02:
    image: ghcr.io/haveagitgat/tdarr_node:2.27.02
    environment:
      NVIDIA_DRIVER_CAPABILITIES: all
      NVIDIA_VISIBLE_DEVICES: all
      # PGID: '911'
      # PUID: '911'
      TZ: Europe/Amsterdam
      UMASK_SET: '002'
      ffmpegVersion: '6'
      inContainer: 'true'
      nodeName: node-pxsw02
      serverIP: tdarr
      serverPort: '8266'
    volumes:
     - /swarm/config/tdarr/configs:/app/configs
     - /swarm/config/tdarr/logs:/app/logs
     - /media_pool/media:/data
     - /media_pool/tdarr/transcode_cache:/tmp
    networks:
     - internal
    logging:
      driver: json-file
    deploy:
      placement:
        constraints:
         - node.labels.Arch!=i686
         - node.hostname==pxsw02.karam.lab
  tdarr-node-pxsw03:
    image: ghcr.io/haveagitgat/tdarr_node:2.27.02
    environment:
      NVIDIA_DRIVER_CAPABILITIES: all
      NVIDIA_VISIBLE_DEVICES: all
      # PGID: '911'
      # PUID: '911'
      TZ: Europe/Amsterdam
      UMASK_SET: '002'
      ffmpegVersion: '6'
      inContainer: 'true'
      nodeName: node-pxsw03
      serverIP: tdarr
      serverPort: '8266'
    volumes:
     - /swarm/config/tdarr/configs:/app/configs
     - /swarm/config/tdarr/logs:/app/logs
     - /media_pool/media:/data
     - /media_pool/tdarr/transcode_cache:/tmp
    networks:
     - internal
    logging:
      driver: json-file
    deploy:
      placement:
        constraints:
         - node.labels.Arch!=i686
         - node.hostname==pxsw03.karam.lab
networks:
  internal:
    driver: overlay
  traefik-public:
    external: true

Notes

Comments