Рекомендация по настройки Sonnar Raddar в докере

Возврат:: к списку статей


Примечание

Я не собираюсь объяснять, как установить и запустить docker, мы только объясним, какую структуру папок мы рекомендуем.

Пути, упомянутые ниже, относятся к внутренним путям (или Container Path) контейнеров!

Внешние пути (или Host Path) зависят от того, куда вы подключили свой общий ресурс или свои диски.

Например, /<path_to_data>/data или даже /data.

Предупреждение

На самом деле не имеет значения, какой путь вы используете для своих медиа и данных приложения,

единственное, чего вам следует избегать, это /home.

Ожидается, что пользовательские папки в /home будут иметь некоторые ограничительные разрешения.

Это может привести к путанице с разрешениями, поэтому лучше просто полностью избегать этого.

В этом примере мы собираемся использовать общий ресурс с именем data.

В data папке есть подпапки для torrents и usenet, и в каждой из них есть подпапки для tv, movie, books и music загрузок, чтобы все было аккуратно. У media папки есть красиво названные TV, Movies, Books и Music вложенные папки, это ваша библиотека и то, что вы передадите в Plex, Emby или JellyFin.

В этих примерах я специально использую нижний регистр для всех папок, поскольку Linux чувствителен к регистру.

data
├── torrents
│   ├── books
│   ├── movies
│   ├── music
│   └── tv
├── usenet
│   ├── incomplete
│   └── complete
│       ├── books
│       ├── movies
│       ├── music
│       └── tv
└── media
    ├── books
    ├── movies
    ├── music
    └── tv

Настройка пути по умолчанию, предлагаемая некоторыми разработчиками docker, которая побуждает людей использовать монтирования типа /movies, /tv, /books или /downloads, очень неоптимальна и делает их похожими на две или три файловые системы, даже если это не так (из-за того, как работают тома Docker). Это самый простой способ начать работу. Несмотря на простоту использования, у него есть существенный недостаток. В основном теряется возможность создания жестких ссылок или мгновенного перемещения, что приводит к более медленному и интенсивному вводу-выводу при использовании копирования + удаления.

qBittorrent, Потоп, ruTorrent

Причина, по которой мы используем /data/torrents для торрент-клиента, заключается в том, что ему нужен доступ только к торрент-файлам. В настройках программного обеспечения для торрентов вам нужно будет перенастроить пути, и вы сможете сортировать файлы по подпапкам, таким как /data/torrents/{tv|movies|music}.

data
└── torrents
    ├── books
    ├── movies
    ├── music
    └── tv

Container Path: => /data/torrents/

Host Path: => /<path_to_data>/data/torrents/

NZBGet или SABnzbd

Причина, по которой мы используем /data/usenet для клиента Usenet, заключается в том, что ему нужен доступ только к файлам Usenet. В настройках программного обеспечения Usenet вам нужно будет перенастроить пути, и вы сможете выполнять сортировку по вложенным папкам, таким как /data/usenet/complete/{tv|movies|music}.

data
└── usenet
    ├── incomplete
    └── complete
        ├── books
        ├── movies
        ├── music
        └── tv

Container Path: => /data/usenet/

Host Path: => /<path_to_data>/data/usenet/

Sonarr, Radarr, Readarr and Lidarr

Sonarr, Radarr, Readarr and Lidarr gets access to everything using /data because the download folder(s) and media folder will look like and be one file system. Hardlinks will work and moves will be atomic, instead of copy + delete.

data
├── torrents
│   ├── books
│   ├── movies
│   ├── music
│   └── tv
├── usenet
│   ├── incomplete
│   └── complete
│       ├── books
│       ├── movies
│       ├── music
│       └── tv
└── media
    ├── books
    ├── movies
    ├── music
    └── tv

Container Path: => /data

Host Path: => /<path_to_data>/data/

Plex, Emby, JellyFin and Bazarr

Plex, Emby, JellyFin and Bazarr only needs access to your media library using /data/media, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders.

data
└── media
    ├── movies
    ├── music
    ├── books
    └── tv

Container Path: => /data/media

Host Path: => /<path_to_data>/data/media/


Don't forget to look at the Examples how to set up the paths inside the applications.

Recursively chown user and group and Recursively chmod to 775/664

sudo chown -R $USER:$USER /data
sudo chmod -R a=,a+rX,u+w,g+w /data

This is a docker-compose example based on a default Ubuntu install.

The storage location used for the host is the same as in the container to make it easier to understand in this case /data.

The appdata (/config) will be stored on the host in the /docker/appdata/{appname}

docker-compose - [Click to show/hide]

version: "3.2"
services:
  radarr:
    container_name: radarr
    image: ghcr.io/hotio/radarr:latest
    restart: unless-stopped
    logging:
      driver: json-file
    ports:
      - 7878:7878
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Amsterdam
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /docker/appdata/radarr:/config
      - /data:/data
  sonarr:
    container_name: sonarr
    image: ghcr.io/hotio/sonarr:latest
    restart: unless-stopped
    logging:
      driver: json-file
    ports:
      - 8989:8989
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Amsterdam
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /docker/appdata/sonarr:/config
      - /data:/data
  bazarr:
    container_name: bazarr
    image: ghcr.io/hotio/bazarr:latest
    restart: unless-stopped
    logging:
      driver: json-file
    ports:
      - 6767:6767
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Amsterdam
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /docker/appdata/bazarr:/config
      - /data/media:/data/media
  sabnzbd:
    container_name: sabnzbd
    image: ghcr.io/hotio/sabnzbd:latest
    restart: unless-stopped
    logging:
      driver: json-file
    ports:
      - 8080:8080
      - 9090:9090
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Amsterdam
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /docker/appdata/sabnzbd:/config
      - /data/usenet:/data/usenet:rw

docker-compose commands - [Click to show/hide]


Questions or Suggestions?

If you have questions or suggestions, click the button below to join our Discord server.

Click For Support

!492590071455940612.idunno