Right-click server → Copy ID
Configure one or more private channels to store files. Each channel needs a channel ID and metadata configuration to maintain the directory structure. Right-click a channel → Copy ID.
Valid directory name for metadata
Metadata Type:
The metadata will be maintained in a JSON file pinned in the file channel. Every directory operation reuploads and updates the pinned file.
Number of retry attempts
Seconds between retries
Exponential backoff base (s)
WebDAV server will be at http://0.0.0.0:1900/webdav
dcfs server will be at http://0.0.0.0:1900
At-rest encryption with AES-256-GCM. When enabled, every file is encrypted client-side before being uploaded; the Discord channel only ever sees ciphertext plus a public per-file salt.
discord:
bot_token: ''
private_file_channel: []
delete_messages_on_remove: false
dcfs:
users:
user:
password: password
download:
chunk_size_kb: 1024
upload_max_retries: 10
upload_retry_interval: 5
upload_base_retry_delay: 2
jwt:
secret: ''
algorithm: HS256
life: 604800
metadata: {}
server:
host: 0.0.0.0
port: 1900
ftp:
enabled: false
host: 127.0.0.1
port: 2121
sftp:
enabled: false
host: 127.0.0.1
port: 2022
smb:
enabled: false
host: 127.0.0.1
port: 4445
encryption:
enabled: false
master_salt_file: master.salt
chunk_size: 65536
Path Style:
Local path to your config.yaml directory
docker run --pull=always -it -p 1900:1900 -v "$(pwd):/home/dcfs/.dcfs" ghcr.io/vulcanosoftware/dcfs:latest