Mount a remote drive for streaming. Uses a combination of rclone and plexdrive to get optimal streaming performance.
Run docker run -it --rm -v ./config:/config drkno/cloudmount:latest rclone_setup to setup rclone, where ./config reflects where you want configuration files to live.
3 remotes are needed when using encryption:
RCLONE_CLOUD_ENDPOINT but without colon (:) (default gd-crypt)gd:/Media or just gd: if you have your files in root in the cloud.RCLONE_LOCAL_ENDPOINT but without colon (:) (default local-crypt)Run docker run -it --rm -v ./config:/config drkno/cloudmount:latest plexdrive_setup to setup PlexDrive, where ./config reflects where you want configuration files to live.
| Environment Variable | Default Value | Description |
|---|---|---|
| PGID | empty | User GID to run as. |
| PUID | empty | User UID to run as. |
| PLEX_URL | empty | The PMS to empty the trash of. |
| PLEX_TOKEN | empty | The user token for the PMS. |
| BUFFER_SIZE | 500M | Buffer size to use when uploading / moving files |
| MAX_READ_AHEAD | 30G | The maximum number of bytes that can be prefetched for sequential reads. |
| CHECKERS | 16 | Number of checkers to run in parallel when moving/uploading. |
| RCLONE_CLOUD_ENDPOINT | gd-crypt: | Raw cloud endpoint for the remote drive. |
| RCLONE_LOCAL_ENDPOINT | local-crypt: | Local decryption endpoint. |
| CHUNK_SIZE | 10M | The size of each chunk that is downloaded while streaming. |
| MAX_NUM_CHUNKS | 50 | The maximum number of chunks to be in memory at one time while streaming. |
| CHUNK_CHECK_THREADS | 4 | Number of parallel checks to perform while streaming. |
| CHUNK_LOAD_AHEAD | 4 | Number of chunks to load ahead of time. |
| CHUNK_LOAD_THREADS | 4 | Number of chunks to load in parallel. |
| REMOVE_LOCAL_FILES_WHEN_SPACE_EXCEEDS_GB | 100 | Remove local files when local storage exceeds this value in GB. |
| RMDELETETIME | 0 6 * * * | Cron expression defining when to delete local copies of files. 0 0 31 2 0 disables local deletions. |
docker run \
--name cloudmount \
-v ./config:/config:shared \
-p 5572:5572/tcp \
--privileged \
--cap-add=MKNOD \
--cap-add=SYS_ADMIN \
--device=/dev/fuse \
drkno/cloudmount:latest
version: '3.4'
services:
cloudmount:
container_name: cloudmount
image: drkno/cloudmount:latest
restart: unless-stopped
privileged: true
cap_add:
- MKNOD
- SYS_ADMIN
environment:
- PGID=1000
- PUID=1000
- TZ=Australia/Sydney
- BUFFER_SIZE=500M
- MAX_READ_AHEAD=30G
- CHECKERS=16
- "RCLONE_CLOUD_ENDPOINT=gd-crypt:"
- "RCLONE_LOCAL_ENDPOINT=local-crypt:"
- CHUNK_SIZE=10M
- REMOVE_LOCAL_FILES_WHEN_SPACE_EXCEEDS_GB=100
- PLEX_URL=plex:32400
- PLEX_TOKEN=
- RMDELETETIME=0 6 * * *
- CHUNK_CHECK_THREADS=16
- CHUNK_LOAD_AHEAD=6
- CHUNK_LOAD_THREADS=16
- MAX_NUM_CHUNKS=50
volumes:
- /etc/localtime:/etc/localtime:ro
- ./config:/config:shared
devices:
- /dev/fuse
ports:
- 5572:5572/tcp
By default this container starts the rclone rcd GUI on port 5572 with no authentication. It is expected that this GUI will either not be exposed or run behind an SSO.
docker build -t drkno/cloudmount:latest .
Content type
Image
Digest
sha256:7819a29e0…
Size
179.5 MB
Last updated
over 3 years ago
docker pull drkno/cloudmount