Skip to content

Commit

Permalink
Updated README's
Browse files Browse the repository at this point in the history
  • Loading branch information
rapejim committed Dec 2, 2021
1 parent d6ff34c commit 71ac0ad
Show file tree
Hide file tree
Showing 2 changed files with 276 additions and 22 deletions.
193 changes: 193 additions & 0 deletions README.ES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,193 @@
# ***Emby Server and Plexdrive 🐳***

<div align="center"><img src="https://raw.githubusercontent.com/rapejim/emby-plexdrive-docker/develop/images/banner.png" width="50%"></div>

Combina el poder de **Emby Server** *(en adelante Emby)* con los archivos multimedia de tu cuenta de Google Drive (o en una [Unidad Compartida](https://support.google.com/a/users/answer/9310156?hl=es)) montados con [**Plexdrive**](https://github.com/plexdrive/plexdrive).

Basado en la [imagen de Jellyfin de Linuxserver](https://fleet.linuxserver.io/image?name=linuxserver/emby) e instalado dentro [Plexdrive v.5.1.0](https://github.com/plexdrive/plexdrive).
*Inspirada en mi otro repositorio https://github.com/rapejim/pms-plexdrive-docker.* <br>

***IMPORTANTE:*** *Se heredan todas las opciones de la imagen Emby de Linuxserver. [Documentación de Linuxserver para más información](https://docs.linuxserver.io/images/docker-emby).*
<br/><br/>Puedes leer este documento en otros idiomas: [English](https://github.com/rapejim/pms-plexdrive-docker/blob/develop/README.md), [Español](https://github.com/rapejim/pms-plexdrive-docker/blob/develop/README.ES.md)

## *Prerrequisitos*

---

Debes tener tu propio identificador de cliente (`Client ID`) y secreto de cliente (`Client Secret`) para configurar Plexdrive. En caso no cuentes con ello, puedes seguir alguna guía que encuentres por Internet, por ejemplo:

- [Español](https://www.uint16.es/2019/11/04/como-obtener-tu-propio-client-id-de-google-drive-para-rclone/)
- [English](https://github.com/Cloudbox/Cloudbox/wiki/Google-Drive-API-Client-ID-and-Client-Secret)

O puedes usar los archivos `config.json` y ` token.json` de una instalación previa de Plexdrive, aunque en este caso es preferible no reutilizar el archivo `cache.bolt` para que se genere uno nuevo.
<br/><br/>

## *Ejemplos de comandos de ejecución*

---

##### Línea de comandos con red host

```bash
docker run --name emby -d \
--net=host \
-e TZ="Europe/Madrid" \
-e PUID=${UID} \
-e PGID=$(id -g) \
-v /docker/emby/config:/config \
# -v /opt/vc/lib:/opt/vc/lib \ # Opcional
--privileged \
--cap-add MKNOD \
--cap-add SYS_ADMIN \
--device /dev/fuse \
--restart=unless-stopped \
rapejim/emby-plexdrive-docker
```

##### Línea de comandos con red bridge

```bash
docker run --name emby -h Emby -d \
-p 8096:8096/tcp \
# -p 8920:8920/tcp \ # Opcional HTTPS
# -p 1900:1900/udp \ # Opcional DLNA
# -p 7359:7359/udp \ # Opcional LAN discovery
-e TZ="Europe/Madrid" \
-e PUID=${UID} \
-e PGID=$(id -g) \
-v /docker/emby/config:/config \
# -v /opt/vc/lib:/opt/vc/lib \ # Opcional
--privileged \
--cap-add MKNOD \
--cap-add SYS_ADMIN \
--device /dev/fuse \
--restart=unless-stopped \
rapejim/emby-plexdrive-docker
```



##### Docker-compose con red host

```yaml
version: '3.5'
services:
emby:
container_name: emby
image: rapejim/emby-plexdrive-docker # https://hub.docker.com/r/rapejim/emby-plexdrive-docker
restart: unless-stopped
privileged: true
network_mode: host
volumes:
- /docker/emby/config:/config
# - /opt/vc/lib:/opt/vc/lib # Opcional
environment:
TZ: Europe/Madrid
PUID: '1000'
PGID: '1000'
cap_add:
- MKNOD
- SYS_ADMIN
devices:
- "/dev/fuse"
```
##### Docker-compose con red bridge
```yaml
version: '3.5'
services:
emby:
container_name: emby
hostname: Emby
image: rapejim/emby-plexdrive-docker # https://hub.docker.com/r/rapejim/emby-plexdrive-docker
restart: unless-stopped
privileged: true
network_mode: bridge
ports:
- 8096:8096
# - 8920:8920 # Opcional HTTPS
# - 7359:7359/udp # Opcional LAN discovery
# - 1900:1900/udp # Optional DLNA
volumes:
- /docker/emby/config:/config
# - /opt/vc/lib:/opt/vc/lib # Opcional
environment:
TZ: Europe/Madrid
PUID: '1000'
PGID: '1000'
cap_add:
- MKNOD
- SYS_ADMIN
devices:
- "/dev/fuse"
```
***NOTA:*** *Debes reemplazar `Europe/Madrid` por tu zona horaria y las rutas de los volúmenes `/docker/emby/...` por tus propias rutas (si no usas la misma estructura de carpetas). Si tienes archivos de configuración (`config.json` y ` token.json`) de una instalación anterior de Plexdrive, colócalos previamente en la carpeta `docker/emby/config/.plexdrive`.*
<br>
<br>
<br>

## *Primer uso y configuración inicial*

---

En la primera ejecución del contenedor (si no tienes archivos de configuración de una instalación previa) debes entrar en la consola del contenedor, copiar, pegar y ejecutar el siguiente comando:

```bash
plexdrive mount -c ${HOME}/${PLEXDRIVE_CONFIG_DIR} --cache-file=${HOME}/${PLEXDRIVE_CONFIG_DIR}/cache.bolt -o allow_other ${PLEXDRIVE_MOUNT_POINT} {EXTRA_PARAMS}
```

Este comando iniciará un asistente de configuración:

- Primero solicitará tus `Client ID` y `Client Secret`
- Te mostrará un enlace para iniciar sesión con tu cuenta de Google Drive (la misma de los `Client ID` y `Client Secret`).
- El sitio web del enlace anterior, te mostrará un token que debes copiar y pegar en el terminal.
- Cuando completes el proceso, Plexdrive comienzará a almacenar en caché los archivos de tu cuenta de Google Drive en el segundo plano. No es necesario esperar a que Plexdrive complete su proceso inicial de creación de caché en esta consola. Ahora que los archivos `config.json` y ` token.json` fueron creados, puedes salir de la terminal (*Ctrl+C*).

<br>
<br>
<br>

## *Parámetros*

---

Estos parámetros no son necesarios, solo si deseas usar una estructura de carpetas actual o permisos de archivo especiales.

- `PLEXDRIVE_CONFIG_DIR` Establece la carpeta de configuración de Plexdrive dentro de la carpeta de configuración de PMS. Valor predeterminado `.plexdrive`.

- `PLEXDRIVE_MOUNT_POINT` Establece el nombre del punto de montaje interno de Plexdrive.
Valor predeterminado `/home/Plex`.

- `CHANGE_PLEXDRIVE_CONFIG_DIR_OWNERSHIP` Determina si el contenedor debe intentar corregir los permisos de los archivos de configuración de Plexdrive existentes.

- `PUID` y `PGID` Establece el ID de usuario y el ID de grupo para el usuario de `Plex`. Útil si deseas que coincidan con los de su propio usuario en el ordenador.

- `EXTRA_PARAMS` Agrega parámetros avanzados a Plexdrive para usar en el comando inicial de montaje. Por ejemplo:

- `--drive-id=ABC123qwerty987` para montar la **Unidad Compartida** con el identificador `ABC123qwerty987`

- `--root-node-id=DCBAqwerty987654321_ASDF123456789` para un montar solo el subdirectorio con el identificador `DCBAqwerty987654321_ASDF123456789`

- *[... Documentación de Plexdrive para más información ...](https://github.com/plexdrive/plexdrive#usage)*

- **IMPORTANTE:** *No está permitido utilizar los parámetros "`-v` `--verbosity`", "`-c` `--config`", "`--cache-file`", ni tampoco "`-o` `--fuse-options`", porque ya se usan internamente.*

<br/>
<br/>

***RECUERDA:*** *Se heredan todas las opciones de la imagen Emby de Linuxserver. [Documentación de Linuxserver para más información](https://docs.linuxserver.io/images/docker-emby).*
<br>
<br>
<br>

## ***Etiquetas de Docker***
---

Las etiquetas corresponden a las de la imagen Emby de Linuxserver:

- `beta` — versiones beta de Emby - imagen base de linuxserver.
- `latest` — versiones estables de Emby - imagen base latest de linuxserver.
105 changes: 83 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<div align="center"><img src="https://raw.githubusercontent.com/rapejim/emby-plexdrive-docker/develop/images/banner.png" width="50%"></div>

Combine the power of **Emby Server** *(hereinafter Emby)* with the media files of your Google Drive account *(or a Team Drive)* mounted it by **Plexdrive**.
Combine the power of **Emby Server** *(hereinafter Emby)* with the media files of your Google Drive account *(or a [Shared Drive](https://support.google.com/a/users/answer/9310156?hl=en))* mounted it by [**Plexdrive**](https://github.com/plexdrive/plexdrive).

Based on [Linuxserver Emby image for Docker](https://fleet.linuxserver.io/image?name=linuxserver/emby) and installed inside [Plexdrive v.5.1.0](https://github.com/plexdrive/plexdrive)<br>
*Inspired on my other repository https://github.com/rapejim/pms-plexdrive-docker.* <br>
Expand All @@ -26,45 +26,106 @@ Or you can use the configuration files from a previous plexdrive installation (t
## ***Example run commands***
---

### **Minimal** example run command *(host network)*:
##### Command line host network

```
docker run --name Emby -d \
```bash
docker run --name emby -d \
--net=host \
-e TZ="Europe/Madrid" \
-e PUID=${UID} \
-e PGID=$(id -g) \
-e TZ="Europe/Madrid" \
-v /docker/emby-plexdrive/config:/config \
-v /docker/emby-plexdrive/transcode:/transcode \
-v /docker/emby/config:/config \
# -v /opt/vc/lib:/opt/vc/lib \ # Optional
--privileged \
--cap-add MKNOD \
--cap-add SYS_ADMIN \
--device /dev/fuse \
--restart=unless-stopped \
rapejim/emby-plexdrive-docker
```
***NOTE:*** *You must replace `Europe/Madrid` for your time zone and `/docker/emby-plexdrive/...` for your own path (if not use this folder structure). If you have config files (`config.json` and `token.json`) from previous installation of plexdrive, place it on `/docker/emby-plexdrive/config/.plexdrive` folder.*
<br>
<br>
<br>

### **Advanced** example run command *(bridge network)*:
##### Command line bridge network

```
docker run --name Emby -h Emby -d \
-p 8096:8096 \
```bash
docker run --name emby -h Emby -d \
-p 8096:8096/tcp \
# -p 8920:8920/tcp \ # Optional HTTPS
# -p 1900:1900/udp \ # Optional DLNA
# -p 7359:7359/udp \ # Optional LAN discovery
-e TZ="Europe/Madrid" \
-e PUID=${UID} \
-e PGID=$(id -g) \
-e TZ="Europe/Madrid" \
-v /docker/emby-plexdrive/config:/config \
-v /docker/emby/config:/config \
# -v /opt/vc/lib:/opt/vc/lib \ # Optional
--privileged \
--cap-add MKNOD \
--cap-add SYS_ADMIN \
--device /dev/fuse \
--restart=unless-stopped \
rapejim/emby-plexdrive-docker
```
***NOTE:*** *You must replace `Europe/Madrid` for your time zone and `/docker/emby-plexdrive/...` for your own path (if not use this folder structure). If you have config files (`config.json` and `token.json`) from previous installation of plexdrive, place it on `/docker/emby-plexdrive/config/.plexdrive` folder.*



##### Docker-compose host network

```yaml
version: '3.5'
services:
emby:
container_name: emby
image: rapejim/emby-plexdrive-docker # https://hub.docker.com/r/rapejim/emby-plexdrive-docker
restart: unless-stopped
privileged: true
network_mode: host
volumes:
- /docker/emby/config:/config
# - /opt/vc/lib:/opt/vc/lib # Optional
environment:
TZ: Europe/Madrid
PUID: '1000'
PGID: '1000'
cap_add:
- MKNOD
- SYS_ADMIN
devices:
- "/dev/fuse"
```
##### Docker-compose bridge network
```yaml
version: '3.5'
services:
emby:
container_name: emby
hostname: Emby
image: rapejim/emby-plexdrive-docker # https://hub.docker.com/r/rapejim/emby-plexdrive-docker
restart: unless-stopped
privileged: true
network_mode: bridge
ports:
- 8096:8096
# - 8920:8920 # Optional HTTPS
# - 7359:7359/udp # Optional LAN discovery
# - 1900:1900/udp # Optional DLNA
volumes:
- /docker/emby/config:/config
# - /opt/vc/lib:/opt/vc/lib # Optional
environment:
TZ: Europe/Madrid
PUID: '1000'
PGID: '1000'
cap_add:
- MKNOD
- SYS_ADMIN
devices:
- "/dev/fuse"
```
***NOTE:*** *You must replace `Europe/Madrid` for your time zone and `/docker/emby-plexdrive/...` for your own path (if not use this folder structure). If you have config files (`config.json` and `token.json`) from previous installation of plexdrive, place it on `/docker/emby-plexdrive/config/.plexdrive` folder before.*
<br>
<br>
<br>
Expand All @@ -76,7 +137,7 @@ On the first run of container (without config files of previous installation) yo
plexdrive mount -c ${HOME}/${PLEXDRIVE_CONFIG_DIR} --cache-file=${HOME}/${PLEXDRIVE_CONFIG_DIR}/cache.bolt -o allow_other ${PLEXDRIVE_MOUNT_POINT} {EXTRA_PARAMS}
```
This command start a config wizzard:
- It asks you for your `Client ID` and `Client Secret`
- First, it asks you for your `Client ID` and `Client Secret`
- Shows you a link to log in using your Google Drive account (which you used to get that `Client ID` and `Client Secret`).
- The web show you a token that you must copy it and paste on terminal.
- When you complete it, Plexdrive start caching your Google Drive account files on second plane, no need to wait for Plexdrive to complete its initial cache building process on this console, now you have the `config.json` and `token.json` created and can exit from terminal (*Cntrl + C* and `exit`).
Expand All @@ -98,8 +159,8 @@ Those are not required unless you want to preserve your current folder structure
- `--root-node-id=DCBAqwerty987654321_ASDF123456789` for a mount only the sub directory with id `DCBAqwerty987654321_ASDF123456789`
- *[... plexdrive documentation for more info ...](https://github.com/plexdrive/plexdrive#usage)*
- **IMPORTANT:** *Not allowed "`-v` `--verbosity`", "`-c` `--config`", "`--cache-file`" or "`-o` `--fuse-options`" parameters, because are already used.*
<br>
<br>
<br>
<br>

***REMEMBER:*** *All options from the Linuxserver Emby container are inherited. [Refer to Linuxserver documentation for more info](https://docs.linuxserver.io/images/docker-emby).*
<br>
Expand All @@ -109,7 +170,7 @@ Those are not required unless you want to preserve your current folder structure
## ***Tags***
---

Tags correspond to those of the official PMS Docker container:
Tags correspond to those of the Emby Linuxserver docker image:

- `beta` — Beta Emby releases - beta linuxserver baseimage.
- `latest` — Stable Emby releases - latest linuxserver baseimage.

0 comments on commit 71ac0ad

Please sign in to comment.