
Docker image for https://github.com/plexdrive/plexdrive mount
yamlversion: '3' services: plexdrive: container_name: plexdrive image: wiserain/plexdrive:latest restart: always network_mode: "bridge" volumes: - ${DOCKER_ROOT}/plexdrive/config:/config - ${DOCKER_ROOT}/plexdrive/cache:/cache # Optional: prepared for --chunk-file - /your/mounting/point:/data:shared - /local/dir/to/be/merged/with:/local # Optional: if you have a folder to be mergerfs/unionfs with devices: - /dev/fuse cap_add: - SYS_ADMIN security_opt: - apparmor:unconfined environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TZ}
equivalently,
bashdocker run -d \ --name=plexdrive \ --cap-add SYS_ADMIN \ --device /dev/fuse \ --security-opt apparmor=unconfined \ -v ${DOCKER_ROOT}/plexdrive/config:/config \ -v ${DOCKER_ROOT}/plexdrive/cache:/cache \ -v /your/mounting/point:/data:shared \ -v /local/dir/to/be/merged/with:/local \ -e PUID=${PUID} \ -e PGID=${PGID} \ -e TZ=${TZ} \ wiserain/plexdrive:latest
First, up and run your container as above. It will be waiting for two plexdrive configuration files to be ready. You can create those files using built-in script by
bashdocker-compose exec <service_name> plexdrive_setup
Once you finish typing your API token, shell stops responding. No worries, it is expected. Simply escape by Ctrl+C, and go to /config. You will find two json files generated. Container running in background will proceed to execute mounting command for plexdrive. You can now access google drive contents via volume-mapped /your/mounting/point.
Here is the internal command for plexdrive mount.
bashplexdrive mount ${plexdrive_mountpoint:-/data} \ --config /config/ \ --uid=${PUID:-911} \ --gid=${PGID:-911} \ --umask=0100775 \ -o allow_other \ ${PLEXDRIVE_OPTS}
Please not that variables with capital letters are only configurable by the container environment variable.
| ENV | Description | Default |
|---|---|---|
PUID / PGID | uid and gid for running an app | 911 / 911 |
TZ | timezone, required for correct timestamp in log | |
PLEXDRIVE_OPTS | additioanl arguments which will be appended to the basic options |
By default, plexdrive_mountpoint is /data but fallbacks to /cloud if your container has bind-mount at /local and so that can be pooled in the following process.
Along with the plexdrive folder, you can specify one local directory to be mergerfs with by POOLING_FS=mergerfs. Internally, it will execute a following command
bashmergerfs \ -o uid=${PUID:-911},gid=${PGID:-911},umask=022,allow_other \ -o ${MFS_USER_OPTS} \ /local=RW:/cloud${PLEXDRIVE_PATH}=NC /data
where a default value of MFS_USER_OPTS is
bashMFS_USER_OPTS="rw,use_ino,func.getattr=newest,category.action=all,category.create=ff,cache.files=auto-full,dropcacheonclose=true"
If you want unionfs instead of mergerfs, set POOLING_FS=unionfs, which will apply
bashunionfs \ -o uid=${PUID:-911},gid=${PGID:-911},umask=022,allow_other \ -o ${UFS_USER_OPTS} \ /local=RW:/cloud${PLEXDRIVE_PATH}=RO /data
where a default value of UFS_USER_OPTS is
bashUFS_USER_OPTS="cow,direct_io,nonempty,auto_cache,sync_read"
You can pool a sub-dir of plexdrive by PLEXDRIVE_PATH. Make sure to start the path with /.



探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务