{"id":26507694,"url":"https://github.com/rapejim/pms-plexdrive-docker","last_synced_at":"2025-09-12T19:42:42.290Z","repository":{"id":46284503,"uuid":"258623321","full_name":"rapejim/pms-plexdrive-docker","owner":"rapejim","description":"Combine the power of Plex Media Server with the media files of your Google Drive account (or a Shared/Team Drive) mounted it by Plexdrive. All in one (container)!!","archived":false,"fork":false,"pushed_at":"2025-02-20T18:34:24.000Z","size":120,"stargazers_count":16,"open_issues_count":0,"forks_count":5,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2025-02-20T19:33:47.856Z","etag":null,"topics":["docker","docker-image","plex","plexdrive"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rapejim.png","metadata":{"files":{"readme":"README.ES.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-24T21:00:20.000Z","updated_at":"2025-02-20T18:22:42.000Z","dependencies_parsed_at":"2024-06-12T01:45:48.141Z","dependency_job_id":"9a88ac07-a576-4488-b298-5618b4993b8e","html_url":"https://github.com/rapejim/pms-plexdrive-docker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rapejim%2Fpms-plexdrive-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rapejim%2Fpms-plexdrive-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rapejim%2Fpms-plexdrive-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rapejim%2Fpms-plexdrive-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rapejim","download_url":"https://codeload.github.com/rapejim/pms-plexdrive-docker/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244711713,"owners_count":20497415,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-image","plex","plexdrive"],"created_at":"2025-03-20T23:33:02.777Z","updated_at":"2025-03-20T23:33:03.638Z","avatar_url":"https://github.com/rapejim.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ***Plex Media Server and Plexdrive 🐳***\n\n\u003cdiv align=\"center\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/rapejim/pms-plexdrive-docker/public/images/banner.png\" width=\"50%\"\u003e\u003c/div\u003e\n\nCombina el poder de **Plex Media Server** *(en adelante PMS)* 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).\n\nBasado en la [imagen docker oficial de PMS](https://hub.docker.com/r/plexinc/pms-docker) e instalado dentro [Plexdrive v.5.1.0](https://github.com/plexdrive/plexdrive).\nBifurcado del repositorio original \u003chttps://bitbucket.org/sh1ny/docker-pms-plexdrive\u003e.\n\n***IMPORTANTE:*** Se heredan todas las opciones de la imagen oficial de PMS. [Documentación de PMS para más información](https://github.com/plexinc/pms-docker).\n\u003cbr/\u003e\u003cbr/\u003ePuedes 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)\n\n## *Prerrequisitos*\n---\n\nDebes 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:\n\n- [Español](https://www.uint16.es/2019/11/04/como-obtener-tu-propio-client-id-de-google-drive-para-rclone/)\n- [English](https://github.com/Cloudbox/Cloudbox/wiki/Google-Drive-API-Client-ID-and-Client-Secret)\n\nO 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.\n\u003cbr/\u003e\u003cbr/\u003e\n\n## *Ejemplos de comandos de ejecución*\n---\n\n##### Línea de comandos con red host\n\n```bash\ndocker run --name plex -d \\\n    --net=host \\\n    -e TZ=\"Europe/Madrid\" \\\n    -e PLEX_UID=${UID} \\\n    -e PLEX_GID=$(id -g) \\\n    # -e PLEX_CLAIM: XXXXXXXXXXXXXXXXXXXXXXXXXX # Optional -\u003e https://www.plex.tv/claim/\n    -v /docker/plex/config:/config \\\n    -v /docker/plex/transcode:/transcode \\ # Optional\n    --privileged \\\n    --cap-add MKNOD \\\n    --cap-add SYS_ADMIN \\\n    --device /dev/fuse \\\n    --restart=unless-stopped \\\n    rapejim/pms-plexdrive-docker\n```\n\n##### Línea de comandos con red bridge\n\n```bash\ndocker run --name plex -h Plex -d \\\n    -p 32400:32400/tcp \\\n    # -p 1900:1900/udp \\ # Optional\n    # -p 3005:3005/tcp \\ # Optional\n    # -p 8324:8324/tcp \\ # Optional\n    # -p 32410:32410/udp \\ # Optional\n    # -p 32412:32412/udp \\ # Optional\n    # -p 32413:32413/udp \\ # Optional\n    # -p 32414:32414/udp \\ # Optional\n    # -p 32469:32469/tcp \\ # Optional\n    -e TZ=\"Europe/Madrid\" \\\n    -e PLEX_UID=${UID} \\\n    -e PLEX_GID=$(id -g) \\\n    # -e PLEX_CLAIM: XXXXXXXXXXXXXXXXXXXXXXXXXX # Optional -\u003e https://www.plex.tv/claim/\n    -v /docker/plex/config:/config \\\n    -v /docker/plex/transcode:/transcode \\ # Optional\n    --privileged \\\n    --cap-add MKNOD \\\n    --cap-add SYS_ADMIN \\\n    --device /dev/fuse \\\n    --restart=unless-stopped \\\n    rapejim/pms-plexdrive-docker\n```\n\n\n\n##### Docker-compose con red host\n\n```yaml\nversion: '3.5'\nservices:\n  plex:\n    container_name: plex\n    image: rapejim/pms-plexdrive-docker:latest # https://hub.docker.com/r/rapejim/pms-plexdrive-docker\n    restart: unless-stopped\n    privileged: true\n    network_mode: host\n    volumes:\n      - /docker/plex/config:/config\n      - /docker/plex/transcode:/transcode # Optional\n    environment:\n      TZ: 'Europe/Madrid'\n      PLEX_UID : '1000'\n      PLEX_GID : '1000'\n      # PLEX_CLAIM: XXXXXXXXXXXXXXXXXXXXXXXXXX # Optional -\u003e https://www.plex.tv/claim/\n    cap_add:\n      - MKNOD\n      - SYS_ADMIN\n    devices:\n      - '/dev/fuse'\n```\n\n##### Docker-compose con red bridge\n\n```yaml\nversion: '3.5'\nservices:\n  plex:\n    container_name: plex\n    hostname: Plex\n    image: rapejim/pms-plexdrive-docker:latest # https://hub.docker.com/r/rapejim/pms-plexdrive-docker\n    restart: unless-stopped\n    privileged: true\n    network_mode: bridge\n    ports: \n      - 32400:32400\n      # - 1900:1900 # Optional\n      # - 3005:3005 # Optional\n      # - 8324:8324 # Optional\n      # - 32410:32410 # Optional\n      # - 32412:32412 # Optional\n      # - 32413:32413 # Optional\n      # - 32414:32414 # Optional\n      # - 32469:32469 # Optional\n    volumes:\n      - /docker/plex/config:/config\n      - /docker/plex/transcode:/transcode # Optional\n    environment:\n      TZ: 'Europe/Madrid'\n      PLEX_UID : '1000'\n      PLEX_GID : '1000'\n      # PLEX_CLAIM: XXXXXXXXXXXXXXXXXXXXXXXXXX # Optional -\u003e https://www.plex.tv/claim/\n    cap_add:\n      - MKNOD\n      - SYS_ADMIN\n    devices:\n      - '/dev/fuse'\n```\n\n\n\n***NOTA:*** *Debes reemplazar `Europe/Madrid` por tu zona horaria y las rutas de los volúmenes `/docker/plex/...` 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/plex/config/.plexdrive`.*\n\u003cbr/\u003e\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n## *Primer uso y configuración inicial*\n---\n\nEn 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:\n\n```bash\nplexdrive mount -c ${HOME}/${PLEXDRIVE_CONFIG_DIR} --cache-file=${HOME}/${PLEXDRIVE_CONFIG_DIR}/cache.bolt -o allow_other ${PLEXDRIVE_MOUNT_POINT} {EXTRA_PARAMS}\n```\n\nEste comando iniciará un asistente de configuración:\n\n- Primero solicitará tus `Client ID` y `Client Secret`\n- Te mostrará un enlace para iniciar sesión con tu cuenta de Google Drive (la misma de los `Client ID` y `Client Secret`).\n- El sitio web del enlace anterior, te mostrará un token que debes copiar y pegar en el terminal.\n- 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*).\n\n***NOTA:*** *Si estas ejecutando este contenedor en una computadora remota (fuera de la red local), se recomienda utilizar la variable de entorno `PLEX_CLAIM` de la [imagen docker oficial PMS](https://github.com/plexinc/pms-docker) para vincular este nuevo servidor a su propia cuenta en la primer ejecución.*\n\u003cbr/\u003e\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n## *Parámetros*\n---\n\nEstos parámetros no son necesarios, solo si deseas usar una estructura de carpetas actual o permisos de archivo especiales.\n\n- `PLEXDRIVE_CONFIG_DIR` Establece la carpeta de configuración de Plexdrive dentro de la carpeta de configuración de PMS. Valor predeterminado `.plexdrive`.\n- `PLEXDRIVE_MOUNT_POINT` Establece el nombre del punto de montaje interno de Plexdrive.\n  Valor predeterminado  `/home/Plex`.\n- `CHANGE_PLEXDRIVE_CONFIG_DIR_OWNERSHIP` Determina si el contenedor debe intentar corregir los permisos de los archivos de configuración de Plexdrive existentes.\n- `PLEX_UID` y `PLEX_GID` 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.\n- `EXTRA_PARAMS` Agrega parámetros avanzados a Plexdrive  para usar en el comando inicial de montaje. Por ejemplo:\n  - `--drive-id=ABC123qwerty987` para montar la **Unidad Compartida** con el identificador `ABC123qwerty987`\n  - `--root-node-id=DCBAqwerty987654321_ASDF123456789` para un montar solo el subdirectorio con el identificador `DCBAqwerty987654321_ASDF123456789`\n  - *[... Documentación de Plexdrive para más información ...](https://github.com/plexdrive/plexdrive#usage)*\n  -  **IMPORTANTE:** *No está permitido utilizar los parámetros \"`-v` `--verbosity`\", \"`-c` `--config`\", \"`--cache-file`\", ni tampoco \"`-o` `--fuse-options`\", porque ya se usan internamente.*\n  \u003cbr/\u003e\n  \u003cbr/\u003e\n\n***RECUERDA:*** *También se heredan todas las opciones del contenedor oficial de PMS. [Documentación de PMS para más información](https://hub.docker.com/r/plexinc/pms-docker).*\n\u003cbr/\u003e\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n## ***Ejemplo de estructura de carpetas del host***\n---\n\n```bash\nDocker Data Folder\n├── plex\n│   ├── config\n│   │   ├── .plexdrive\n│   │   │   └── ...\n│   │   └── Library\n│   │       └── ...\n│   └── transcode\n└── ...\n```\n\u003cbr/\u003e\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n## *Etiquetas de Docker*\n---\n\nLas etiquetas corresponden a las del contenedor Docker oficial de PMS:\n\n- `public` — Versión públicas de PMS.\n- `beta` — Versión beta de PMS ***(Requiere Plex Pass)***.\n- `latest` — Actualmente la misma que `public`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frapejim%2Fpms-plexdrive-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frapejim%2Fpms-plexdrive-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frapejim%2Fpms-plexdrive-docker/lists"}