Code Monkey home page Code Monkey logo

plex-rpi's Introduction

Plex sobre Docker en Raspberry

Con este repo podes crear tu propio server que descarga tus series y peliculas automáticamente, y cuando finaliza, las copia al directorio media/ donde Plex las encuentra y las agrega a tu biblioteca.

También agregué un pequeño server samba por si querés compartir los archivos por red

Todo esto es parte de unos tutoriales que estoy subiendo a Youtube

NOTA: Esta repo fue actualizada para correr usando flexget y transmission en este video, podés todavia acceder a la versión vieja (con rtorrent) en la branch rtorrent

Requerimientos iniciales

Agregar tu usuario (cambiar kbs con tu nombre de usuario)

sudo useradd kbs -G sudo

Agregar esto al sudoers para correr sudo sin password

%sudo   ALL=(ALL:ALL) NOPASSWD:ALL

Agregar esta linea a sshd_config para que sólo tu usuario pueda hacer ssh

echo "AllowUsers kbs" | sudo tee -a /etc/ssh/sshd_config
sudo systemctl enable ssh && sudo systemctl start ssh

Instalar paquetes básicos

sudo apt-get update && sudo apt-get install -y \
     apt-transport-https \
     ca-certificates \
     curl \
     gnupg2 \
     software-properties-common \
     vim \
     fail2ban \
     ntfs-3g

Instalar Docker

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
echo "deb [arch=armhf] https://download.docker.com/linux/debian \
     $(lsb_release -cs) stable" | \
    sudo tee /etc/apt/sources.list.d/docker.list
sudo apt-get update && sudo apt-get install -y --no-install-recommends docker-ce docker-compose

Modificá tu docker config para que guarde los temps en el disco:

sudo vim /etc/default/docker
# Agregar esta linea al final con la ruta de tu disco externo montado
export DOCKER_TMPDIR="/mnt/storage/docker-tmp"

Agregar tu usuario al grupo docker

# Add kbs to docker group
sudo usermod -a -G docker kbs
#(logout and login)
docker-compose up -d

Montar el disco (es necesario ntfs-3g si es que tenes tu disco en NTFS) NOTA: en este link pueden ver la explicación en vivo

# usamos la terminal como root porque vamos a ejecutar algunos comandos que necesitan ese modo de ejecución
sudo su
# buscamos el disco que querramos montar (por ejemplo la partición sdb1 del disco sdb)
fdisk -l
# pueden usar el siguiente comando para obtener el UUID
ls -l /dev/disk/by-uuid/
# y simplemente montamos el disco en el archivo /etc/fstab (pueden hacerlo por el editor que les guste o por consola)
echo UUID="{nombre del disco o UUID que es único por cada disco}" {directorio donde queremos montarlo} (por ejemplo /mnt/storage) ntfs-3g defaults,auto 0 0 | \
     sudo tee -a /etc/fstab
# por último para que lea el archivo fstab
mount -a (o reiniciar)

Cómo correrlo

Simplemente bajate este repo y modificá las rutas de tus archivos en el archivo (oculto) .env, y después corré:

docker-compose up -d

IMPORTANTE

Las raspberry son computadoras excelentes pero no muy potentes, y plex por defecto intenta transcodear los videos para ahorrar ancho de banda (en mi opinión, una HORRIBLE idea), y la chiquita raspberry no se aguanta este transcodeo "al vuelo", entonces hay que configurar los CLIENTES de plex (si, hay que hacerlo en cada cliente) para que intente reproducir el video en la máxima calidad posible, evitando transcodear y pasando el video derecho a tu tele o Chromecast sin procesar nada, de esta forma, yo he tenido 3 reproducciones concurrentes sin ningún problema. En android y iphone las opciones son muy similares, dejo un screenshot de Android acá:

plex

Más info acá: #3

plex-rpi's People

Contributors

bibaldo avatar juanito87 avatar kevinszuchet avatar nulldiego avatar pablokbs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

plex-rpi's Issues

El container que se levanta de filebot-rpi se crea siempre y no se destruye

Cuando se ejecuta el comando filebot-copy en la linea
FILEBOT="docker run -v /home/pi/plex-rpi/torrents-config/scripts:/scripts -v $MEDIA:$MEDIA -v /mnt/volume/some-path/downloads/incoming:/downloads/incoming pablokbs/filebot-rpi"

Sería mejor colocar el flag --rm para que se cree y se auto destruya el container.

Quedaría
FILEBOT="docker run -v /home/pi/plex-rpi/torrents-config/scripts:/scripts -v $MEDIA:$MEDIA -v /mnt/volume/some-path//downloads/incoming:/downloads/incoming --rm pablokbs/filebot-rpi"

Plex dice que los directorios estan vacios

Version de docker y del contenedor
docker-compose con la versión 1.25.0 y la versión del contenedor es plex:1.30.0.6486-armhf

Docker-Compose.yml

  plex:
    image: jaymoulin/plex:1.30.0.6486-armhf
    expose:
      - 32400
      - 33400
    hostname: raspberry
    volumes:
      - ${STORAGE}/Plex Media Server:/root/Library/Application Support/Plex Media Server
      - ${MEDIA}:/media
      - ${STORAGE}/tmp:/tmp
    restart: unless-stopped
    network_mode: "host"

.ENV

MEDIA=/media/hdd/media
STORAGE=/media/hdd/

Descripción breve
Cuando intento configurar el directorio de plex donde deberían de estar las pelis o series me sale vacío y no me aparece ninguna carpeta

Pasos que he seguido

  1. docker-compose up -d
  2. http://my_machine_ip:32400/manage
  3. Darle en agregar biblioteca; seleccionar PELICULAS ; Clickar en la izquierda donde pone AÑADIR CARPETA y darle a Ver carpeta de medios

Que me esperaba que pasase
Cuando le de a la / de los directorio y luego al directorio de media deberia aparecer una carpeta que se llame hdd ( no aparece ) y dentro de esa carpeta ahi estan los archivos de Plex Media Sever y 2 carpetas de pelis y series sin embargo no me aparece ninguna de estas carpetas

Plex

Nueva Funcionalidad Solicitada: Convertidor de Videos en Segundo Plano

🚀 Descripción:

Actualmente, nuestro proyecto compose-plex-samba-transmission-flexget proporciona una plataforma sólida para el manejo de contenido multimedia. Para mejorar aún más esta experiencia, me gustaría solicitar la implementación de una nueva funcionalidad: un convertidor de videos en segundo plano.

✨ Detalles de la Funcionalidad:

El objetivo de este convertidor sería permitir a los usuarios ajustar el peso del archivo de video mientras conservan una calidad óptima. En mi caso específico, busco la capacidad de convertir videos de 2 horas a una resolución de 1080p con un peso de archivo objetivo de 4.5 GB con un aproximado de 5 Mbps ó 0.625 MBps. Este tamaño de archivo sería ideal para la reproducción en un televisor de 8k en las pruebas que he realizado, proporcionando una alta calidad de visualización sin ocupar un excesivo espacio de almacenamiento. aunque solo una pelicula necesitaba 10Mbps.

🎯 Objetivo:

Permitir a los usuarios definir el peso del archivo de video durante la conversión.
Mantener una calidad óptima de 1080p para la visualización en televisores de alta resolución.
Ejecutar el proceso de conversión en segundo plano para minimizar la interferencia con otras operaciones.

💡 Detalles Técnicos:

Se podría considerar la implementación utilizando herramientas como FFmpeg para el proceso de conversión de video. Esto aseguraría una eficiencia en el uso de recursos y una amplia compatibilidad con diversos formatos.

🌟 Beneficios Adicionales:

Ahorro de espacio de almacenamiento al mantener tamaños de archivo optimizados.
Mejora la experiencia de visualización en dispositivos de alta resolución.
Flexibilidad para ajustar el peso del archivo según las preferencias del usuario.

🔧 Acciones Propuestas:

Integrar un módulo de configuración para definir el peso objetivo del archivo de video.
Implementar el proceso de conversión en segundo plano para no interferir con otras tareas del sistema.
Realizar pruebas exhaustivas para garantizar la estabilidad y eficiencia del proceso.

✍️ Solicitud:
Se solicita amablemente la consideración y la implementación de esta funcionalidad en nuestro proyecto. Creemos que agregar esta capacidad mejorará significativamente la versatilidad y utilidad de la plataforma para todos los usuarios.

✨Código Posible del Servicio:

El siguiente código es para vuestra validación

  video_converter:
    image: jrottenberg/ffmpeg:latest
    volumes:
      - ./media:/input #change with ${STORAGE}
      - ./media:/output
    command: >
      sh -c '
      for file in /input/*.mkv; do
        if [ $(stat -c "%s" "$file") -gt 5000000000 ]; then
          ffmpeg -i "$file" -c:v libx264 -b:v 5M -vf "scale=-1:1080" "/output/$(basename "$file")";
        fi;
      done
      '
    restart: unless-stopped

🎉 ¡Gracias de antemano por considerar esta solicitud! 🚀

Consulta general

Como hacen para descargar en español directamente?, le ponen el nombre en español?

Plex no reproduce los videos

Despues de haber configurado todo y teniendo los archivos en el directorio de media, plex los lee pero al tratar de reproducirlos recibo el siguiente error:

Este servidor no es lo suficientemente potente para convertir vídeo.

Sólo pasa con algunos, por ej: los de Big Bang Theory del tutorial no los lee, pero uno de GOT si que lo lee.

Saludos

Error al descargar las series automaticamente desde el flexget

Aparece este error : "Unable to download the RSS for task eztvrss (https://eztv.ag/ezrss.xml): HTTPSConnectionPool(host='eztv.ag', port=443): Max retries exceeded with url: /ezrss.xml (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f2ec08aa2f0>: Failed to establish a new connection: [Errno -3] Try again'))", se esta usando las mismas configuraciones del repo

Problema con flexget y transmission

hola que buenas!!

que tengo mal que no me funciona habro las apps o sea flexget y tambien transmission por medio del edge pero no se actualizan con los rss transmission funciona porque manual puedo poner cosas pero flexget no entiendo nada...


version: "3"
services:
  flexget:
    image: wiserain/flexget
    container_name: flexget  # Asegúrate de usar un nombre válido aquí
    restart: on-failure:5
    ports:
      - 5050:5050
    volumes:
      - /home/docker/apps/flexget/to/config:/config
      - /home/docker/apps/flexget/to/custom-cont-init.d:/custom-cont-init.d
      - /home/docker/apps/transmission/to/downloads:/downloads
      - /home/media:/storage
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/Argentina  # Reemplaza esto con tu zona horaria
      - TORRENT_PLUGIN=transmission
      - FG_WEBUI_PASSWD=**********
services:
  transmission:
    image: lscr.io/linuxserver/transmission:latest
    container_name: transmission
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - TRANSMISSION_WEB_HOME= #optional
      - USER=admin
      - PASS=password1234
      - WHITELIST= #optional
      - PEERPORT= #optional
      - HOST_WHITELIST= #optional
    volumes:
      - /home/docker/apps/transmission/to/data:/config
      - /home/docker/apps/transmission/to/downloads:/downloads
      - /home/docker/apps/transmission/to/watch/folder:/watch
    ports:
      - 9091:9091
      - 51413:51413
      - 51413:51413/udp
    restart: unless-stopped
web_server: yes

schedules:
  - tasks: '*'
    interval:
      minutes: 30

tasks:
  my_task:
    rss: https://eztv.ag/ezrss.xml
    series:
      - Coops

    transmission:
      host: transmission
      port: 9091
      username: admin
      password: "**********"

desde ya muchas gracias

Error al iniciar compose

Hola, estoy tratando de levantar plex, pero tengo errores varios, adjunto el log:
plex_1 | --device arg Device string
plex_1 | --model arg Device model string
plex_1 | --sentryUrl arg Sentry URL to upload to
plex_1 | --sentryKey arg Sentry Key for the project
plex_1 | --version arg Version of the product
flexget_1 | 2020-08-04 02:18 CRITICAL manager [/tasks/sort_movies/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:18 CRITICAL manager [/tasks/sort_tv/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:18 CRITICAL manager Failed to load config file: Did not pass schema validation.
flexget_1 | Could not start manager: Did not pass schema validation.
plexrpi_flexget_1 exited with code 0
flexget_1 | [Init] Setting permissions on files/folders inside container
flexget_1 | [Init] Using existing config.yml
flexget_1 | [Init] Using userdefined FG_WEBUI_PASSWD: 123456
flexget_1 | 2020-08-04 02:14 VERBOSE manager Creating new database /config/db-config.sqlite - DO NOT INTERUPT ...
flexget_1 | 2020-08-04 02:14 CRITICAL manager [/tasks/sort_movies/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:14 CRITICAL manager [/tasks/sort_tv/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:14 CRITICAL manager Failed to load config file: Did not pass schema validation.
flexget_1 | Could not start manager: Did not pass schema validation.
flexget_1 | [Init] Setting permissions on files/folders inside container
flexget_1 | [Init] Using existing config.yml
flexget_1 | [Init] Using userdefined FG_WEBUI_PASSWD: 123456
flexget_1 | 2020-08-04 02:14 CRITICAL manager [/tasks/sort_movies/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:14 CRITICAL manager [/tasks/sort_tv/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:14 CRITICAL manager Failed to load config file: Did not pass schema validation.
flexget_1 | Could not start manager: Did not pass schema validation.
flexget_1 | [Init] Setting permissions on files/folders inside container
flexget_1 | [Init] Using existing config.yml
flexget_1 | [Init] Using userdefined FG_WEBUI_PASSWD: 123456
flexget_1 | 2020-08-04 02:15 CRITICAL manager [/tasks/sort_movies/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:15 CRITICAL manager [/tasks/sort_tv/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:15 CRITICAL manager Failed to load config file: Did not pass schema validation.
flexget_1 | Could not start manager: Did not pass schema validation.
flexget_1 | [Init] Setting permissions on files/folders inside container
flexget_1 | [Init] Using existing config.yml
flexget_1 | [Init] Using userdefined FG_WEBUI_PASSWD: 123456
flexget_1 | 2020-08-04 02:15 CRITICAL manager [/tasks/sort_movies/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:15 CRITICAL manager [/tasks/sort_tv/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:15 CRITICAL manager Failed to load config file: Did not pass schema validation.
flexget_1 | Could not start manager: Did not pass schema validation.
flexget_1 | [Init] Setting permissions on files/folders inside container
flexget_1 | [Init] Using existing config.yml
flexget_1 | [Init] Using userdefined FG_WEBUI_PASSWD: 123456
flexget_1 | 2020-08-04 02:15 CRITICAL manager [/tasks/sort_movies/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:15 CRITICAL manager [/tasks/sort_tv/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:15 CRITICAL manager Failed to load config file: Did not pass schema validation.
flexget_1 | Could not start manager: Did not pass schema validation.
flexget_1 | [Init] Setting permissions on files/folders inside container
flexget_1 | [Init] Using existing config.yml
flexget_1 | [Init] Using userdefined FG_WEBUI_PASSWD: 123456
flexget_1 | 2020-08-04 02:16 CRITICAL manager [/tasks/sort_movies/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:16 CRITICAL manager [/tasks/sort_tv/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:16 CRITICAL manager Failed to load config file: Did not pass schema validation.
flexget_1 | Could not start manager: Did not pass schema validation.
flexget_1 | [Init] Setting permissions on files/folders inside container
flexget_1 | [Init] Using existing config.yml
flexget_1 | [Init] Using userdefined FG_WEBUI_PASSWD: 123456
flexget_1 | 2020-08-04 02:16 CRITICAL manager [/tasks/sort_movies/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:16 CRITICAL manager [/tasks/sort_tv/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:16 CRITICAL manager Failed to load config file: Did not pass schema validation.
flexget_1 | Could not start manager: Did not pass schema validation.
flexget_1 | [Init] Setting permissions on files/folders inside container
flexget_1 | [Init] Using existing config.yml
flexget_1 | [Init] Using userdefined FG_WEBUI_PASSWD: 123456
flexget_1 | 2020-08-04 02:17 CRITICAL manager [/tasks/sort_movies/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:17 CRITICAL manager [/tasks/sort_tv/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:17 CRITICAL manager Failed to load config file: Did not pass schema validation.
flexget_1 | Could not start manager: Did not pass schema validation.
flexget_1 | [Init] Setting permissions on files/folders inside container
flexget_1 | [Init] Using existing config.yml
flexget_1 | [Init] Using userdefined FG_WEBUI_PASSWD: 123456
flexget_1 | 2020-08-04 02:17 CRITICAL manager [/tasks/sort_movies/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:17 CRITICAL manager [/tasks/sort_tv/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:17 CRITICAL manager Failed to load config file: Did not pass schema validation.
flexget_1 | Could not start manager: Did not pass schema validation.
flexget_1 | [Init] Setting permissions on files/folders inside container
flexget_1 | [Init] Using existing config.yml
flexget_1 | [Init] Using userdefined FG_WEBUI_PASSWD: 123456
flexget_1 | 2020-08-04 02:17 CRITICAL manager [/tasks/sort_movies/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:17 CRITICAL manager [/tasks/sort_tv/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:17 CRITICAL manager Failed to load config file: Did not pass schema validation.
flexget_1 | Could not start manager: Did not pass schema validation.
flexget_1 | [Init] Setting permissions on files/folders inside container
flexget_1 | [Init] Using existing config.yml
flexget_1 | [Init] Using userdefined FG_WEBUI_PASSWD: 123456
flexget_1 | 2020-08-04 02:18 CRITICAL manager [/tasks/sort_movies/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:18 CRITICAL manager [/tasks/sort_tv/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:18 CRITICAL manager Failed to load config file: Did not pass schema validation.
flexget_1 | Could not start manager: Did not pass schema validation.
flexget_1 | [Init] Setting permissions on files/folders inside container
flexget_1 | [Init] Using existing config.yml
flexget_1 | [Init] Using userdefined FG_WEBUI_PASSWD: 123456
flexget_1 | 2020-08-04 02:18 CRITICAL manager [/tasks/sort_movies/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:18 CRITICAL manager [/tasks/sort_tv/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:18 CRITICAL manager Failed to load config file: Did not pass schema validation.
flexget_1 | Could not start manager: Did not pass schema validation.
flexget_1 | [Init] Setting permissions on files/folders inside container
flexget_1 | [Init] Using existing config.yml
flexget_1 | [Init] Using userdefined FG_WEBUI_PASSWD: 123456
flexget_1 | 2020-08-04 02:19 CRITICAL manager [/tasks/sort_movies/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:19 CRITICAL manager [/tasks/sort_tv/filesystem/path] /downloads/complete does not exist
flexget_1 | 2020-08-04 02:19 CRITICAL manager Failed to load config file: Did not pass schema validation.
flexget_1 | Could not start manager: Did not pass schema validation.
flexget_1 | [Init] Setting permissions on files/folders inside container
flexget_1 | [Init] Using existing config.yml
flexget_1 | [Init] Using userdefined FG_WEBUI_PASSWD: 123456
ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information.
If you encounter this issue regularly because of slow network conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher value (current value: 60).

Es la primera vez que intento levantar plex, asi que debe ser una pavada, pero bueno..sigo investigando y hago un update si encuentro algo.
Saludos.

Problemas en el deploy del contenedor flexget-arm

Hola Pablo como estas.

Queria ver si alguien me puede dar una mano en esto. Estoy teniendo 2 problemas que describo a continuacion:

  1. Certificate did not match expected hostname: pypi.python.org. Certificate: aparentemente un problema con ca-certificates que logro "mitigar" modificando el dockerfile y agregando --trusted-host pypi.python.org en el pip para saltar esta falla.

  2. ERROR: Could not find a version that satisfies the requirement flexget==2.21.0 (from versions: none): en este caso es donde quedo.

Seguire investigando pero dejo la inquietud acá.
Saludos!

Duda/Problema con fuente RSS

He probado a desplegar todo tal y como se muestra en el video, pero no me termina de funcionar.

Entiendo que la fuente RSS debería ser un XML gigante con links de descarga para muchas series. Sin embargo, al entrar en la uel mostrada únicamente aparecen unas 30 entradas en el XML, por lo que ninguna se corresponde con las series que yo quiero y no hace nada flexget.

Este es el comportamiento normal? Entro a la web de EZTV y me aparece un link RSS (https://eztv.re/ezrss.xml) pero que lleva al mismo XML de 30 series

Añadir discos NTFS para acceso a través de SMB.

Hola,

Tengo varios discos internos añadidos al server de PLEX ¿Como tendría que tener el docker-compose si quisiera añadir discos NTFS para acceso a través de SMB? No logro que la ruta sea visible por red, actualmente tengo esta config, en PLEX el origen funciona y parsea el contenido pero por SMB no veo la carpeta, solo sale downloads y media :

` samba:
image: dperson/samba # no hay tag con versiones, solo latest
restart: always
command: '-u "amartinos;QWessDW4,MJ" -s "media;/media;yes;no" -s "downloads;/downloads;yes;no" -s "Disco1;/Disco1;yes;no" -s "Disco2;/Disco2;yes;no" -s "Disco3;/Disco3;yes;no" -s "Disco4;/Disco4;yes;no"'
stdin_open: true
tty: true
environment:
- TZ=Europa/España/Madrid
ports:
- 139:139
- 445:445
volumes:
- ${MEDIA}:/media
- ${STORAGE}/torrents:/downloads
- ${DISK1}:/Disco1
- ${DISK2}:/Disco2
- ${DISK3}:/Disco3
- ${DISK4}:/Disco4

plex:
image: jaymoulin/plex:1.30.1.6562
expose:
- 32400
- 33400
# Descomentar si NO usas network_mode: "host"
# ports:
# - 32400:32400
# - 33400:33400
hostname: plex
environment:
- TZ=Europa/España/Madrid
volumes:
- ${STORAGE}/Plex Media Server:/root/Library/Application Support/Plex Media Server
- ${MEDIA}:/media
- ${STORAGE}/tmp:/tmp
- ${DISK1}:/Disco1
- ${DISK2}:/Disco2
- ${DISK3}:/Disco3
- ${DISK4}:/Disco4
restart: unless-stopped
network_mode: "host" # Solo funciona en Linux
`

Gracias !

Working?

Buenos días,

Actualmente este proyecto está funcionando?

He realizado el git clone, modificado el docker-compose.yaml con las configuraciones de red / unidad montada pero los dockers de transmission y flexget no acaban de levantar y no sé el motivo.

image

Muchas gracias!

Error en el Samba

Recibo este error:
Failure
failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "/usr/share/zoneinfo/Europe/Spain/Madrid" to rootfs at "/etc/localtime": mount /usr/share/zoneinfo/Europe/Spain/Madrid:/etc/localtime (via /proc/self/fd/7), flags: 0x5000: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type

Captura desde 2022-10-26 05-39-40
image

Samba port 445 issue

Running on WSL 2 beside Win 10 as a test before setting it up on Raspberry, I received the following issue:

Command: docker-compose up -d

Error message: Error response from daemon: Ports are not available: listen tcp 0.0.0.0:445: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.

filebot-copy /home/pi/media está fijo

Hola Pablo, primero que todo muchas gracias por compartir tu conocimiento.

Estoy explorando la alternativa que propones y veo que está fija en la línea 11 del archivo fileboot-copy

MEDIA=/home/pi/media

¿Esta línea no debería eliminarse ya que existe en el archivo .env?

Permission denied al hacer mkdir: cannot create directory ‘/storage/movies’: Permission denied

Buenas. Me está saliendo este error cuando sigo el tutorial con algunas diferencias.

Tengo dos HDD conectadas a la raspi con OMV, en donde me creé una carpeta desde la GUI para /media. El tema es que tengo privilegios desde samba, pero cuando corro el comando

docker-compose exec flexget flexget execute --dump --tasks sort_movies,

me sale rejected:

raven@paradise:~/plex-rpi$ docker-compose exec flexget flexget execute --dump --tasks sort_movies
There is a FlexGet process already running for this config, sending execution there.
2023-02-14 22:58:55 INFO manager Config change detected. Reloading.
2023-02-14 22:58:55 INFO manager Config successfully reloaded!
2023-02-14 22:58:56 VERBOSE filesystem sort_movies Starting to scan folders.
2023-02-14 22:58:56 VERBOSE filesystem sort_movies Scanning folder /downloads/complete. Recursion is set to True.
2023-02-14 22:58:56 VERBOSE details sort_movies Produced 2 entries.
2023-02-14 22:58:56 VERBOSE task sort_movies ACCEPTED: Big Buck Bunny 4k (2008) by accept_all plugin
2023-02-14 22:58:56 VERBOSE task sort_movies ACCEPTED: Big Buck Bunny (2008) by accept_all plugin
2023-02-14 22:58:56 VERBOSE details sort_movies Summary - Accepted: 2 (Rejected: 0 Undecided: 0 Failed: 0)
2023-02-14 22:58:56 VERBOSE exec sort_movies Executing: if mediainfo "/downloads/complete/Big Buck Bunny 4k (2008).mp4" | grep EAC3; then
mkdir -p "/storage/movies/Big Buck Bunny (2008)" && ffmpeg -hwaccel auto -y -i "/downloads/complete/Big Buck Bunny 4k (2008).mp4" -map 0 -c:s copy -c:v copy -c:a ac3 -b:a 640k "/storage/movies/Big Buck Bunny (2008)/Big Buck Bunny (2008).mp4"
else
mkdir -p "/storage/movies/Big Buck Bunny (2008)" && cp "/downloads/complete/Big Buck Bunny 4k (2008).mp4" "/storage/movies/Big Buck Bunny (2008)/Big Buck Bunny (2008).mp4"
fi
2023-02-14 22:58:56 INFO exec sort_movies Stdout: mkdir: cannot create directory ‘/storage/movies’: Permission denied
2023-02-14 22:58:56 VERBOSE exec sort_movies Executing: if mediainfo "/downloads/complete/Big Buck Bunny (2008).mp4" | grep EAC3; then
mkdir -p "/storage/movies/Big Buck Bunny (2008)" && ffmpeg -hwaccel auto -y -i "/downloads/complete/Big Buck Bunny (2008).mp4" -map 0 -c:s copy -c:v copy -c:a ac3 -b:a 640k "/storage/movies/Big Buck Bunny (2008)/Big Buck Bunny (2008).mp4"
else
mkdir -p "/storage/movies/Big Buck Bunny (2008)" && cp "/downloads/complete/Big Buck Bunny (2008).mp4" "/storage/movies/Big Buck Bunny (2008)/Big Buck Bunny (2008).mp4"
fi
2023-02-14 22:58:56 INFO exec sort_movies Stdout: mkdir: cannot create directory ‘/storage/movies’: Permission denied

Supongo que se trata de gestionar bien los privilegios desde OMV, pero ya se los di a mi user (raven). Ahora bien, cómo hago para que los pueda usar el contenedor también?

Consulta - Cómo agregar series/pelis para que se descarguen?

Básicamente eso.
Intenté agregandolos en la lista de tv flexget/config.yml, se ven las portadas de las series en el Flexget Manager pero no hace nada, es decir, no los manda a Transmission.

Intenté conectando el user de trakt, el cual se conectó bien pero eso nisiquiera agrega las series y peliculas al Flexget Manager, tampoco las manda al Transmission.

En el log del docker-compose no tengo ningun error, solo un error en la config de flexget que esta en este repo pero tampoco encuentro cuál seria el error

flexget_1       | 2023-10-01 19:13:44 WARNING  check                         Config line 4 is likely missing ':' at the end
flexget_1       | 2023-10-01 19:13:44 WARNING  check                         Config line 70 has odd (uneven) indentation

por lo demás anda perfecto, descargué a mano un capitulo de Rick and Morty, se ordenó solo, renombró, y me aparece en el Plex.

También cambié el RSS a eztv.re pero nada cambia.

Alguna ayuda?

No se levanta el container filebot-rpi

Como el comando /config/filebot-copy está siendo ejecutado por el usuario abc en el contenedor de rtorrent (asi viene de la imagen :p), ese usuario no tiene privilegios para correr comandos de docker.
Solución: en mi caso tuve que agregar el usuario abc al grupo de docker dentro del contenedor, luego en la pi tuve que crear el usuario abc con el id 911 que es como esta en el contenedor, también tuve que cambiar el gid del docker en el container para que igualara el gid del docker de la pi. Finalmente arreglado el conflicto de usuarios se levantó el container de filebot-rpi

Error al levantar el compose: standard_init_linux.go:211: exec user process caused "exec format error"

hola Pablo, me da este error cuando levanto el compose

standard_init_linux.go:211: exec user process caused "exec format error"
ERROR: Service 'flexget' failed to build: The command '/bin/sh -c apk add --update tzdata python py-pip ca-certificates && pip install --no-cache-dir --disable-pip-version-check flexget==2.21.0 transmissionrpc==0.11 && rm -rf /var/cache/apk/*' returned a non-zero code: 1

Problema Flexget

hola, me saben decir porque se da este error y alguna solución?

standard_init_linux.go:211: exec user process caused "exec format error"
ERROR: Service 'flexget' failed to build: The command '/bin/sh -c apk add --update tzdata python py-pip ca-certificates && pip install --no-cache-dir --disable-pip-version-check flexget==2.21.0 transmissionrpc==0.11 && rm -rf /var/cache/apk/*' returned a non-zero code: 1

Gracias y saludos.
Conrado.

Plex no anda Error: Critical: libusb_init failed

Clone el repo ajuste los parámetros como en el video, y plex en los logs manda el siguiente error.

6 3000 /root/Library/Application Support
8192
Critical: libusb_init failed

Estoy usando:
Docker version 24.0.4, build 3713ee1
Docker Compose version v2.15.1
OS: Debian GNU/Linux 11 (bullseye) x86_64

Asi esta en mi compose:

plex:
image: jaymoulin/plex:1.30.1.6562
expose:
- 32400
- 33400
# Descomentar si NO usas network_mode: "host"
# ports:
# - 32400:32400
# - 33400:33400
container_name: plex
environment:
- TZ=America/Mexico_City
volumes:
- ${STORAGE}/Plex Media Server:/root/Library/Application Support/Plex Media Server
- ${MEDIA}:/media
- ${STORAGE}/tmp:/tmp
restart: unless-stopped
network_mode: "host" # Solo funciona en Linux

Alguien que le haya pasado este problema.

fluxget

Buenas

Estoy montandolo en un linux normal no la raspberry, y he cambiado la imagen docker de fluxget a flexget/flexget:latest para que me pueda funcionar bajo otra arquitectura.

Cargando el docker de serie, el flex no me copia los archivos descargados y me he encontrado en los logs que no encuentra esta carpeta.

2023-09-20 08:01:01 CRITICAL manager [/tasks/sort_tv/filesystem/path] /downloads/complete does not exist
2023-09-20 08:01:01 CRITICAL manager [/tasks/sort_movies/filesystem/path] /downloads/complete does not exist
2023-09-20 08:01:01 CRITICAL manager Failed to load config file: Did not pass schema validation.
2023-09-20 08:01:15 CRITICAL manager [/tasks/sort_tv/filesystem/path] /downloads/complete does not exist
2023-09-20 08:01:15 CRITICAL manager [/tasks/sort_movies/filesystem/path] /downloads/complete does not exist
2023-09-20 08:01:15 CRITICAL manager Failed to load config file: Did not pass schema validation.
2023-09-20 08:01:26 CRITICAL manager [/tasks/sort_movies/filesystem/path] /downloads/complete does not exist
2023-09-20 08:01:26 CRITICAL manager [/tasks/sort_tv/filesystem/path] /downloads/complete does not exist
2023-09-20 08:01:26 CRITICAL manager Failed to load config file: Did not pass schema validation.
2023-09-20 08:01:36 CRITICAL manager [/tasks/sort_tv/filesystem/path] /downloads/complete does not exist

lo demás he revisado y correcto:

/mnt/storage/media: carpeta donde plex si me detecta las peliculas
/mnt/storage/Plex Media Server: me lo crea correcto
/mnt/storage/torrents: complete & incomplete: me los crea correcto

el env tambien va de serie:

#ruta donde van a ir los archivos renombrados por filebot
MEDIA=/mnt/storage/media
#ruta donde se descargan los archivos del torrent antes de renombrarse
STORAGE=/mnt/storage

alguna idea?

thanks

Flexget no inicia adecuadamente

los containers estan ejecutandose:
image

me dice que el directorio no existe

image

pero en el sistema operativo ubuntu 20.10 en efecto existe:
image

como arreglar este problema? ha de ser facil pero no domino el tema, gracias!

¿Cómo debería ser mi docker-compose si quiero hacer referencia a un hdd externo?

Buenas:

Tengo un disco duro externo montado en /mnt/4T y me gustaría saber como debería ser mi docker-compose para que trabaje todo desde el HDD.

Parte de mi docker-compose.yaml que se encuentra en /mnt/4T/plex-rpi
`volumes:
- /usr/share/zoneinfo/Atlantic/Canary:/etc/localtime
- ${MEDIA}:/media
- ${STORAGE}/torrents:/downloads

plex:
image: jaymoulin/plex:1.16.5
expose:
- 32400
- 33400
hostname: plex-cerebro
volumes:
- ${STORAGE}/Plex Media Server:/root/Library/Application Support/Plex Media Server
- ${MEDIA}:/media
- ${STORAGE}/tmp:/tmp
restart: unless-stopped
networks:
lan:
ipv4_address: 192.168.1.70

transmission:
image : jaymoulin/transmission
command: transmission-daemon -f -g /config
volumes:
- ${STORAGE}/transmission:/config
- ${STORAGE}/torrents:/downloads`

Mi .env
#ruta donde van a ir los archivos renombrados por filebot MEDIA=/mnt/4T/plex-rpi/media #ruta donde se descargan los archivos del torrent antes de renombrarse STORAGE=/mnt/4T/plex-rpi/

Gracias por todo de antemano.

Readme.md

Hola Pablo, me acabo de dar cuenta que el contenido del Readme.md no se corresponde con el docker-compose.yml, en el readme usas tu repo de rutorrent mientras que el docker-compose usas linuxserver/rutorrent.

Archivo de configuración (transmission) re-escrito al reiniciar el container

Instalo el transmission, sin embargo cuando intento acceder a la pagina del servidor me da el mensaje: "Unauthorized IP Address.". Cambio el settings.json como recomienda Pablo, y sigue el mismo error. Al reiniciar el container, este vuelve a crear el archivo de configuracion nuevamente. Alguna idea? gracias

Couldn't find index page for 'pytest-runner' (maybe misspelled?)

image

Me sale este error al hacer docker-compose up
Complete output from command python setup.py egg_info:
Couldn't find index page for 'pytest-runner' (maybe misspelled?)
No local packages or working download links found for pytest-runner
Traceback (most recent call last):
File "", line 1, in
File "/tmp/pip-build-Xcn2eH/guessit/setup.py", line 77, in
setup(**args)
File "/usr/lib/python2.7/distutils/core.py", line 111, in setup
_setup_distribution = dist = klass(attrs)
File "/usr/lib/python2.7/site-packages/setuptools/dist.py", line 315, in init
self.fetch_build_eggs(attrs['setup_requires'])
File "/usr/lib/python2.7/site-packages/setuptools/dist.py", line 361, in fetch_build_eggs
replace_conflicting=True,
File "/usr/lib/python2.7/site-packages/pkg_resources/init.py", line 850, in resolve
dist = best[req.key] = env.best_match(req, ws, installer)
File "/usr/lib/python2.7/site-packages/pkg_resources/init.py", line 1122, in best_match
return self.obtain(req, installer)
File "/usr/lib/python2.7/site-packages/pkg_resources/init.py", line 1134, in obtain
return installer(requirement)
File "/usr/lib/python2.7/site-packages/setuptools/dist.py", line 429, in fetch_build_egg
return cmd.easy_install(req)
File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 659, in easy_install
raise DistutilsError(msg)
distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('pytest-runner')


Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-Xcn2eH/guessit/
ERROR: Service 'flexget' failed to build: The command '/bin/sh -c apk add --update tzdata python py-pip ca-certificates && pip install --no-cache-dir --disable-pip-version-check flexget==2.21.0 transmissionrpc==0.11 && rm -rf /var/cache/apk/*' returned a non-zero code: 1

Error al agregar repo para Docker

Siguiendo las instrucciones del Readme no me funciono el agregado de repositorio para instalar docker (debian bullseye)
Recurri a la docu oficial y decia esto:

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

El resto salio normal.

Pregunta sobre trakt

QUESTION
Estoy intentando conectar flexget con trakt y me he quedado en este paso

Autorizar flexget para conectarse a trakt: - docker exec -it idcontainer sh - flexget trakt auth //El resultado de manda a autenticar, con el código que entrega al link https://trakt.tv/activate

Es decir yo ya tengo la api creada ahora que hago para conseguir el código

error al hacer build al flexget-arm

image

Me menciona que existe una sintaxis invalida, este es mi Dockerfile

FROM armhf/alpine
MAINTAINER bren

RUN apk add --update \
  tzdata \
  python \
  py-pip \
  ca-certificates \
  && pip install --no-cache-dir --disable-pip-version-check flexget==2.21.0 transmissionrpc==0.11 \
  && rm -rf /var/cache/apk/*

RUN apk add --update --repository http://dl-cdn.alpinelinux.org/alpine/edge/main tinyxml2 && \
    apk add --update --repository http://dl-cdn.alpinelinux.org/alpine/edge/community mediainfo && \
    apk add --update ffmpeg && \
    rm -rf /var/cache/apk/*

# Copy local files
COPY files/ /

# add default volumes
VOLUME /config /data
WORKDIR /config

# expose port for flexget webui
EXPOSE 3539 3539/tcp

# run init.sh to set uid, gid, permissions and to launch flexget
RUN chmod +x /scripts/init.sh
CMD ["/scripts/init.sh"]

De antemano, agradezco al que me pueda dar una mano con esto :)

Acceso al plex usando el parent network como wifi.

Tengo la Raspberry3 conectada excluisivamente via wifi, modifique la sección de network con la opcion driver_opts/parent: wlan0. Escaneando los computadores con "LanScan", detecta la nueva ip y la mac address del servicio plex. Sin embargo no puedo acceder al servidor desde el host (o ninguna otra maquina). Tampoco hay respuesta ping.

plex:
image: jaymoulin/plex:1.16.5
ports:
- 32400:32400
- 33400:33400
hostname: raspberrypi
volumes:
- /media/usb/apps/plex-media-server:/root/Library/Application Support/Plex Media Server
- /media/usb/apps/tmp:/tmp
- /media/usb/multimedia/movies:/media/movies
- /media/usb/multimedia/series:/media/series
restart: unless-stopped
networks:
lan:
ipv4_address: 192.168.31.227

networks:
lan:
driver: macvlan
driver_opts:
parent: wlan0
ipam:
config:
- subnet: "192.168.31.0/24"
gateway: "192.168.31.1"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.