A self-hosted WebDAV server for Debrid-Link, automatically organizing your media files (Movies/TV Shows) for seamless integration with your media center. Changes are detected in 30sec, allowing updates to instantly appear in your Plex library. The rclone mount is optimized to minimize bandwidth usage from debrid.
# Create a volume
docker volume create davdebrid_data
# Run the container
docker run -d \
--name=davdebrid \
-p 8080:8080 \
--restart unless-stopped \
-e DEBRID_ID=debridlink \
-e DEBRID_API_KEY=apikey \
-e DATA_FOLDER=/data \
-v davdebrid_data:/data \
arvida42/davdebrid:latest
Your server is available on http://localhost:8080
You can mount it locally with rclone by using the following command:
export RCLONE_CONFIG_DAV_TYPE=webdav
export RCLONE_CONFIG_DAV_URL=http://localhost:8080
export RCLONE_CONFIG_DAV_VENDOR=other
rclone mount dav: /mnt/dav \
--dir-cache-time 5s \
--allow-other \
--vfs-cache-mode full \
--vfs-cache-max-size 500M \
--vfs-read-chunk-size 4M \
--vfs-read-chunk-size-limit 256M \
--vfs-fast-fingerprint \
--allow-non-empty
downloader-compose.yml
file.DEBRID_API_KEY
. You can obtain it from Debrid-Link API Key.davdebrid-mnt
). You can change this to a local directory if preferred.docker compose up -d
downloader-compose-plex.yml
file.DEBRID_API_KEY
. You can get it from Debrid-Link API Key.PLEX_CLAIM
. You can obtain it from Plex Claim Token.docker compose -f docker-compose-plex.yml up -d
localStorage.myPlexAccessToken
and copy the result into the PLEX_TOKEN
setting.docker compose -f docker-compose-plex.yml up -d
/mnt/dav
.All server configurations are documented in the config.js file
When you mount the WebDAV server, you’ll find a Config
directory containing two files:
config.yml
: This is the default configuration file for your directories. It provides base settings and is read-only, so it cannot be modified.config.custom.yml
: This is your customizable configuration file. You can edit it to define and apply your own organization rules for directories, which will override the default configuration.Each directory configuration is processed sequentially in the order specified in the configuration file.
name
: The display name for the directory at the root of your WebDAV.unique
: Specifies whether the directory is unique. Files in non-unique directories can also appear in other matching directories. Files cannot appear in more than one unique directory.cond
: The condition used to determine which files are in the directory.regex
: Matches files based on the specified regex pattern.minVideosInParent
: Requires that the file be located within a parent directory containing at least n
video files.fileTypes
: Defines the acceptable file types (e.g., video
, subtitle
, music
, image
, unknown
).or
: Applies an OR
logic across the listed conditions.and
: Applies an AND
logic across conditions. This is the default behavior and doesn’t need to be explicitly specified.For example, the default organization rules:
# Default Configuration - Cannot be Overwritten
# To customize, please edit the 'config.custom.yml' file.
# Folder Organizer Conditions
# Files available on the debrid service will be organized into directories based on specified conditions.
# If a file matches a 'unique' directory condition, no further `unique` directory conditions will be checked for that file.
directories:
# This directory contains all files, regardless of type.
# Since this is not a unique condition, files may also appear in other applicable directories.
- name: 'All'
unique: false
cond: {}
# This directory contains only video and subtitle files that match the specified regex
# or are located within a parent directory containing more than six video files
# (e.g., torrent with multiple videos).
- name: 'Shows'
unique: true
cond:
or:
regex: '[0-9]+E[0-9]+|[0-9]+x[0-9]+'
minVideosInParent: 6
fileTypes:
- 'video'
- 'subtitle'
# This directory contains all remaining video and subtitle files that do not match the conditions of previous unique directories (Shows).
- name: 'Movies'
unique: true
cond:
fileTypes:
- 'video'
- 'subtitle'