dcfs Config Generator

Generate your dcfs configuration file with this interactive form
Discord
Bot Credentials

Right-click server → Copy ID

Private File Channels & Metadata

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.


dcfs
Users
JWT
Server

WebDAV server will be at http://0.0.0.0:1900/webdav

dcfs server will be at http://0.0.0.0:1900

Protocols
FTP
SFTP
SMB

Encryption (Optional)

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.

Generated Configuration
discord:
  bot_token: ''
  private_file_channel: []
  delete_messages_on_remove: false
dcfs:
  users:
    user:
      password: password
  download:
    chunk_size_kb: 1024
  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
Docker Run Options

Path Style:

Local path to your config.yaml directory

Docker Run Command
docker run --pull=always -it -p 1900:1900 -v "$(pwd):/home/dcfs/.dcfs" ghcr.io/vulcanosoftware/dcfs:latest