version: "3.4"
services:
  tdarr:
    container_name: tdarr
    image: ghcr.io/haveagitgat/tdarr:latest
    restart: unless-stopped
    network_mode: bridge
    ports:
      - 8265:8265 # webUI port
      - 8266:8266 # server port
    environment:
      - TZ=America/Chicago
      - PUID=0
      - PGID=0
      - UMASK_SET=002
      - serverIP=0.0.0.0
      - serverPort=8266
      - webUIPort=8265
      - internalNode=false  # Disable for distributed setup
      - inContainer=true
      - ffmpegVersion=6
      - nodeName=docker-server
    volumes:
      # Plugin mounts (stonefish example)
      - ./stonefish-tdarr-plugins/FlowPlugins/:/app/server/Tdarr/Plugins/FlowPlugins/
      - ./stonefish-tdarr-plugins/FlowPluginsTs/:/app/server/Tdarr/Plugins/FlowPluginsTs/
      - ./stonefish-tdarr-plugins/Community/:/app/server/Tdarr/Plugins/Community/
      
      # Hybrid storage strategy
      - ./tdarr/server:/app/server  # Local: Database, configs, logs
      - ./tdarr/configs:/app/configs
      - ./tdarr/logs:/app/logs
      - /mnt/truenas-share/tdarr/tdarr-server/Backups:/app/server/Tdarr/Backups  # Network: Backups
      
      # Media and cache
      - /mnt/truenas-share:/media
      - /mnt/truenas-share/tdarr/tdarr-cache:/temp