id = "filebrowser" name = "File Browser" homepage = "https://github.com/filebrowser/filebrowser" description = "A web-based file browser and management CLI." executables = ["filebrowser"] [dotfiles] # The official File Browser CLI source searches $HOME for one of these # configuration filenames when --config is not supplied. # https://github.com/filebrowser/filebrowser/blob/master/cmd/root.go#L127-L132 paths = [ "~/.filebrowser.json", "~/.filebrowser.toml", "~/.filebrowser.yaml", "~/.filebrowser.yml", ] exclude = [] secret = [] side_effect = false [commands] format = 1 label = "Serve a directory" description = "Start File Browser on an address and port with a root directory and database. TLS, sockets, previews, quick-setup credentials and the config/users/rules subcommands and the command runner (disabled by default) are not modelled; keep it behind a reverse proxy." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = true, short_bundles = false } [[commands.source]] id = "help" kind = "manual" url = "https://raw.githubusercontent.com/filebrowser/filebrowser/HEAD/docs/cli/filebrowser.md" revision = "HEAD 2026-10-27" evidence = """ -a, --address string address to listen on (default "127.0.0.1") -b, --baseURL string base url -c, --config string config file path -d, --database string database path (default "./filebrowser.db") -l, --log string log output (default "stdout") -p, --port string port to listen on (default "8080") -r, --root string root to prepend to relative paths (default ".") """ [[commands.field]] id = "root" label = "Root directory" description = "Directory whose files are served." type = "path" option = ["--root", "-r"] path = { kind = "directory", role = "input", must_exist = true } observed_default = "." sources = ["help"] [[commands.field]] id = "address" label = "Listen address" type = "string" option = ["--address", "-a"] suggestions = [{ value = "127.0.0.1", label = "Localhost only" }, { value = "0.0.0.0", label = "All interfaces" }] observed_default = "127.0.0.1" sources = ["help"] [[commands.field]] id = "port" label = "Port" type = "string" option = ["--port", "-p"] observed_default = "8080" sources = ["help"] [[commands.field]] id = "database" label = "Database file" type = "path" option = ["--database", "-d"] path = { kind = "file", role = "output", must_exist = false } observed_default = "./filebrowser.db" sources = ["help"] [[commands.field]] id = "config" label = "Config file" type = "path" option = ["--config", "-c"] path = { kind = "file", role = "input", must_exist = true } sources = ["help"] [[commands.field]] id = "base_url" label = "Base URL" type = "string" option = ["--baseURL", "-b"] sources = ["help"] [[commands.field]] id = "log" label = "Log output" type = "string" option = ["--log", "-l"] suggestions = [{ value = "stdout", label = "Standard output" }] observed_default = "stdout" sources = ["help"] [[commands.task]] id = "serve" label = "Serve a directory" fields = ["root", "address", "port", "database"] required = ["root"] [[commands.group]] id = "basic" label = "Basic" fields = ["root", "address", "port", "database"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["config", "base_url", "log"]