Cloudbit.es

Bienvenido a Cloudbit.es, comunidad de videojuegos y otros temas, para poder participar en nuestros foros necesitarás una invitación que puedes obtener durante el registro y también te puede dar alguien que ya este registrado, esperamos verte pronto entre nosotros!

Como montar un servidor de PLEX con Google Drive y Plex Drive

est3ban129

Croquetero
Miembro del equipo
Administrador
Mensajes
2.085




Como montar un servidor de PLEX con Google Drive y Plex Drive

La idea de esta guía es montar un servidor de Plex con Google Drive en un VPS con linux (ubuntu en mi caso). Lo acompañaré de algunos extras como: cliente de torrent (transmission), plexpy para monitorizar nuestro servidor plex y algunos scripts y consideraciones para mejorar la experiencia a la hora del visionado.

Ventajas Plex VPS vs Plex Cloud
  • No necesitas Plex Pass.
  • El escaneo de directorios es muuucho más rápido porque es como si tuvieras plex instalado en local.
  • Posiblidad de instalar plexpy para monitorizar tu plex server, así como otros servicios.
La mayor desventaja que veo a plex en vps es que si quieres transcodificar contenido vas a tener que tirar a por un servidor de mínimo 15-20€ / mes.

VPS y SSH
En mi caso voy a utilizar un VPS pequeño y barato de DigitalOcean (https://digitalocean.com 5€) ya que voy a hacer direct play de todo el contenido, pero tened en cuenta que si alguno de vuestros users va a necesitar transcoding, este server no va a poder con ello. Necesitaréis mínimo 4 cores, se recomienda una puntuación de 2000 en passmark para un sólo transcoding a 1080p.

Otras opciones económicas: https://www.kimsufi.com/es/servidores.xml

Cuando tengamos el vps arrancado, tenemos que entrar por ssh. Seguramente en el panel nos indiquen cómo hacerlo pero lo normal es abrir un sesión en PuTTy (Windows) o Terminal (Mac OS).


Accederemos con:
Código:
ssh root@ipvps

plexdrive (alternativa rclone)
Para liberías grandes es recomendable montar la unidad con plexdrive en lugar de rclone. Plexdrive cachea el contenido de tu unidad para no realizar un exceso de peticiones a la API de google drive y de esta forma evitar los baneos.

NOTA: tras probar la v4 y la v5, me quedo con la 4 ya que me ha dado un mejor rendimiento en general. No obstante, en su github tenéis las instrucciones para instalar la v5. Utiliza otro sistema de base de datos y el comando de montaje cambia ligeramente.

Instalamos la base de datos de MongoDB.
Código:
apt-get install mongodb

Descargamos la versión más actual de su web: https://github.com/dweidenfeld/plexdrive/releases (versión amd64).
Código:
mkdir /home/plexdrive
cd /home/plexdrive
wget https://github.com/dweidenfeld/plexdrive/releases/download/4.0.0/plexdrive-linux-amd64
mv plexdrive-linux-amd64 plexdrive
chown root:root /home/plexdrive/plexdrive
chmod 755 /home/plexdrive/plexdrive

Ahora vamos a obtener nuestro client id y client secret de la API de google. Para ello hacemos lo siguiente:
  • Nos logueamos en Google API Console.
  • Creamos un nuevo proyecto.
  • Vamos a Overview -> Google APIs, Google Apps APIs, Drive API y Enable.
  • Vamos a Credentials en el panel izquierdo y Create Credentials, OAuth client ID.
  • En tipo de aplicación seleccionamos Other y Create.
  • Nos dara un client id y client secret. Lo copiamos y guardamos.
Instalamos screen para dejar el proceso de montaje corriendo en segundo plano y montamos con las opciones por defecto.

Código:
apt-get install screen
screen -S plexdrive
mkdir /home/plexcloud
cd /home/plexdrive
./plexdrive -o allow_other -v 3 -m localhost /home/plexcloud

Plexdrive empezará a cachear todo el contenido de vuestro plex y puede que tarde bastante, deberíamos dejarle hacer hasta que ponga que ha acabado o haya parado la actividad.

Para salir de la screen, simplemente hacemos Control + A + D. Si queremos volver a ella podemos hacerlo con: screen -r plexdrive.


rclone
Utilizaremos rclone para montar Google Drive como unidad de disco en nuestro sistemaRecomiendo usar plexdrive para enlazar con Plex y rclone para hacer tareas de copia, subida y demás. Aun así, rclone tiene ahora una nueva opción para cachear el contenido de una unidad que podéis probar.

Descargarmos rclone y lo configuramos ejecutando este script realizado por el propio developer.
Código:
curl https://rclone.org/install.sh | sudo bash

Accedemos a la configuración.
Código:
rclone config

N: creamos una nueva unidad.

Le damos un nombre, por ejemplo: plexcloud.

11: Google Drive (revisa el número, puede que haya cambiado con la versión de rclone)

Dejamos client id y client secret en blanco.

En el siguiente paso le damos a No (N) y nos dará una url que debemos pegar en nuestro navegador (en tu ordenador local), loguearnos con nuestra cuenta de Google Drive que vayamos a utilizar y copiar el token que nos da y pegarlo.

Nos preguntará si esta todo bien y le decimos que sí (Y).

Nos hará falta instalar fuse también, antes de montar la unidad.
Código:
apt-get install fuse

Creamos una carpeta y montamos la unidad en ella.
Código:
mkdir /home/plexcloud
rclone mount --allow-other --allow-non-empty -v plexcloud: /home/plexcloud &

Si todo ha ido bien, listando el directorio deberéis ver vuestro contenido del drive.
Código:
ls /home/plexcloud

Para que se monte la unidad sola cuando reiniciamos el sistema tenemos que editar el crontab.
Código:
export EDITOR=nano
crontab -e

Pegamos estas líneas y guardamos:
Código:
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command
@reboot sleep 30 && rclone mount --allow-other --allow-non-empty -v plexcloud: /home/plexcloud &


Servidor plex
Vamos a instalar el plex media server y configurarlo.

En la sección de Downloads de su web (https://www.plex.tv/es/downloads/), copiamos el enlace de la versión de linux, en mi caso Ubuntu 64 bits. Podéis mirar si hay una versión más moderna disponible o incluso instalar la versión de Plex Pass que siempre es algo más avanzada.

Ponemos a descargar y esperamos a que acabe.
Código:
wget https://downloads.plex.tv/plex-media-server/1.5.6.3790-4613ce077/plexmediaserver_1.5.6.3790-4613ce077_amd64.deb

Instalamos
Código:
dpkg -i plexmediaserver_1.5.6.3790-4613ce077_amd64.deb

Para acceder por primera vez, como estamos sin entorno gráfico en linux y por tanto no hay navegador, debemos hacer un tunneling por ssh para enlazar nuestro localhost con el VPS.

Aquí haremos dos distinciones dependiendo de si estamos en Windows o Linux/Mac OS.

  • Windows
Hay que configurar PuTTy para hacer la conexión por el puerto en concreto, tendría que quedaros como en la siguiente imagen
  • Linux/Mac OS
Código:
ssh root@ipvps -L 8888:localhost:32400

Ahora accedemos en nuestro navegador a http://localhost:8888/web y plex debería darnos la bienvenida para proceder a su configuración. Añadimos las bibliotecas que queramos apuntando al contenido del drive, que detecta como una carpeta más.

En principio Plex debería empezar a escanear todo el contenido de los directorios que le hayamos indicado y una vez acabe ya está disponible par utilizarlo en cualquier dispositivo.

A partir de ahora, podéis acceder a vuestro servidor plex mediante http://ipvps:32400

Optimizaciones para evitar transcoding
En los clientes/dispositivos que vayáis a utilizar hay que tener en cuenta un par de consideraciones respecto a la calidad de vídeo y los subtítulos para evitar la transcodificación.

Os dejo los parámetros a ajustar en estas imágenes .
 
Última edición por un moderador:
Una duda, lo habéis probado durante cierto tiempo? lo digo porque en mi caso, usé Drive para backups de clientes, y me acabaron cerrando la cuenta por infringir las condiciones de servicio.

Por lo demás el tuto es cojonudo ;)
 
muy interesnte ,hace tiempo lo intente pero no lo consegui,aver si tengo tiempo pr probarlo.
 
una pregunta, ¿ usas transmision como cliente torrent por algun motivo en particular ? ¿has probado deluge? ( bueno fueron dos preguntas )
 
una pregunta, ¿ usas transmision como cliente torrent por algun motivo en particular ? ¿has probado deluge? ( bueno fueron dos preguntas )
es el mas simple de utilizar, iba a poner el tuto pero es que yo ahora mismo no lo uso, descargo a mi nas y de mi nas al server , el transmision seria para descargar al server directamente
 
Bua. Acabo de conseguir una cuenta de GDrive ilimitada y me interesa mucho.

Alguien sabe si se puede hacer con Synology? Tengo un NAS en casa y quería conectarlo con el GDrive para el plex. Sin embargo, prefería encryptar las pelis, pero no tengo ni idea. Thanks
 
buenas, estoy siguiendo tu tutorial y veo q en el video viene instalado centos y en el escrito por ubuntu, si es que no me esquivoco.
Total que en el video comentas de no instalar rclone pero yo tengo cuenta teamdrive y te he escuchado que es necesario. La cuestión es que no se como hacerlo ya que en la el tuto escrito no sé si viene bien, a mi al menos no me sale.
Ya tengo el plex server instalado pero no logro ver la carpeta del teamdrive, solo me sale la zona de los 15 gigas y me imagino que puede ser por no tener el rclone.
A ver si me comentas algo, saludos crack.

edit:
None of the supported tools for extracting zip archives (unzip 7z busybox) were found. Please install one of them and try again.

esto me dice al poner curl https://rclone.org/install.sh | sudo bash
 
Última edición:
buenas, estoy siguiendo tu tutorial y veo q en el video viene instalado centos y en el escrito por ubuntu, si es que no me esquivoco.
Total que en el video comentas de no instalar rclone pero yo tengo cuenta teamdrive y te he escuchado que es necesario. La cuestión es que no se como hacerlo ya que en la el tuto escrito no sé si viene bien, a mi al menos no me sale.
Ya tengo el plex server instalado pero no logro ver la carpeta del teamdrive, solo me sale la zona de los 15 gigas y me imagino que puede ser por no tener el rclone.
A ver si me comentas algo, saludos crack.

edit:
None of the supported tools for extracting zip archives (unzip 7z busybox) were found. Please install one of them and try again.

esto me dice al poner curl https://rclone.org/install.sh | sudo bash
Ahi te esta diciendo que te falta algún descompresor para instalar el paquete, tendras que instalar unzip por lo menos... apt-get install unzip xD
Si no te vale puedes hacerlo a mano , pero tendras que instalar el unzip también

Código:
curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cd rclone-*-linux-amd64

Luego le das permisos con:
Código:
sudo cp rclone /usr/bin/
sudo chown root:root /usr/bin/rclone
sudo chmod 755 /usr/bin/rclone

y la puedes configurar con
Código:
rclone config
 
Hola, Gracias por el tutorial, pues me he estancado en el arranque de mongobd... tengo ubuntu 16.04, me lo he instalado con las intrucciones del digitalocen para ubuntu 16.04 (tengo el server en contabo.com) y a la hora de arrancar el servicio me dice: Failed to start mongodb.service: Unit mongodb.service is masked. ¿Alguna sugerencia? saludos y nuevamente gracias.
 
Ahi te esta diciendo que te falta algún descompresor para instalar el paquete, tendras que instalar unzip por lo menos... apt-get install unzip xD
Si no te vale puedes hacerlo a mano , pero tendras que instalar el unzip también

Código:
curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cd rclone-*-linux-amd64

Luego le das permisos con:
Código:
sudo cp rclone /usr/bin/
sudo chown root:root /usr/bin/rclone
sudo chmod 755 /usr/bin/rclone

y la puedes configurar con
Código:
rclone config

pero si lo haces con centos no cambia algunas ordenes?
Código:
sudo cp rclone /usr/bin/
sudo chown root:root /usr/bin/rclone
sudo chmod 755 /usr/bin/rclone
es que lo pongo y me dice nanai de la china
 
Hola, Gracias por el tutorial, pues me he estancado en el arranque de mongobd... tengo ubuntu 16.04, me lo he instalado con las intrucciones del digitalocen para ubuntu 16.04 (tengo el server en contabo.com) y a la hora de arrancar el servicio me dice: Failed to start mongodb.service: Unit mongodb.service is masked. ¿Alguna sugerencia? saludos y nuevamente gracias.
has probado a seguir el tutorial aunque no se ejecute el servicio ? depende de la empresa la instalación es distinta y se añade como servicio automáticamente

puedes probar si funciona escribiendo el comando MongoD, si se inicia pues ya lo tienes...

pero si lo haces con centos no cambia algunas ordenes?
Código:
sudo cp rclone /usr/bin/
sudo chown root:root /usr/bin/rclone
sudo chmod 755 /usr/bin/rclone
es que lo pongo y me dice nanai de la china
que error te pone? pasa capturas de la terminal
 
Hola el tutorial todo perfecto me a funcionado con rclone ya que tengo cuenta ilimitada de equipo y plexdeive no me lo detecta quería implementar el caché en rclone para evitar baneo de Google podéis ayudar cómo sería gracias de antemano
 
e seguido estos pasos para montar la unidad y evitar baneos por parte de google es lo correcto ?

rclone copy /tmp plexcloud:tmp
rclone mount plexcloud:/ /home/plexcloud --allow-other --vfs-cache-max-age 4h --dir-cache-time 48h --vfs-read-chunk-size 12M --vfs-read-chunk-size-limit off --buffer-size 1G --cache-dir "/home/gcache/"
 
Hola, Gracias por el tutorial, pues me he estancado en el arranque de mongobd... tengo ubuntu 16.04, me lo he instalado con las intrucciones del digitalocen para ubuntu 16.04 (tengo el server en contabo.com) y a la hora de arrancar el servicio me dice: Failed to start mongodb.service: Unit mongodb.service is masked. ¿Alguna sugerencia? saludos y nuevamente gracias.

Gracias por tu respuesta... Si, he seguido pero al entrar el comando
./plexdrive -o allow_other -v 3 -m localhost /home/plexcloud

Me sale que no pudo pudo abrir conexión con mongodb...

Me seguí los pasos para instalar mongodb desde aquí... https://www.digitalocean.com/community/tutorials/como-instalar-mongodb-en-ubuntu-16-04-es

Atento a tus comentarios... Saludos!
 
Última edición:
Gracias por tu respuesta... Si, he seguido pero al entrar el comando
./plexdrive -o allow_other -v 3 -m localhost /home/plexcloud

Me sale que no pudo pudo abrir conexión con mongodb...

Me seguí los pasos para instalar mongodb desde aquí...https://www.digitalocean.com/community/tutorials/como-instalar-mongodb-en-ubuntu-16-04-es

Atento a tus comentarios... Saludos!
creo que es porque inicias mal el servicio
pones MongoDB y es MongoD
Código:
sudo systemctl start mongod
sudo systemctl enable mongod
Si no funciona prueba a desinstalarlo y volverlo a instalar

Código:
sudo apt-get install -y mongodb-org

Si aún asi no funciona, puedes probar PlexDrive 5 que creo que no utiliza MongoDB
 
Gracias! Pues si, creo que si estaba mal... pero así dice el tuto de digital ocean... bueno, al parecer si anda, pero al poner el comando
./plexdrive -o allow_other -v 3 -m localhost /home/plexcloud
No me aparece como en tu video una lista de instruciones... me aparece ésto... pongo la clave de cliente que he generado con la consola de google y me da error... Pendiente a tus comentarios.
 
Gracias! Pues si, creo que si estaba mal... pero así dice el tuto de digital ocean... bueno, al parecer si anda, pero al poner el comando
./plexdrive -o allow_other -v 3 -m localhost /home/plexcloud
No me aparece como en tu video una lista de instruciones... me aparece ésto... pongo la clave de cliente que he generado con la consola de google y me da error... Pendiente a tus comentarios.
pusiste la api y el secret ? parece que esta dándote mal la url de confirmación de google
 
Arriba