Skip to content

Full Config Example

Graham Steffaniak edited this page Apr 12, 2025 · 43 revisions

Starting with v0.6.8, a config needs to be validated using a few simple rules:

  1. Invalid fields are no longer supported; this helps spot typos. For example, if you type userdefaults instead of userDefaults, it will let you know rather than ignoring all of your userDefault settings you intended to set.
  2. required fields, such as server.sources and different keys based on the settings that you add.
  3. some additional light validation, such as min values for things like minLength for password config if provided.

I understand this can be annoying, because it means a config that worked before may not run anymore. However, once you get your config.yaml validated and working, any future changes should have a much better experience because of this.

Since most configs will probably not work as-is anymore, I decided to take this opportunity to also move some keys into more appropriate locations.

To help with this, I wanted to provide a full config example that works in v0.6.8:

server:
  numImageProcessors: 4
  socket: ''
  tlsKey: ''
  tlsCert: ''
  enableThumbnails: true
  resizePreview: false
  port: 8080
  baseURL: /
  logging:
    - levels: ''
      apiLevels: ''
      output: stdout
      noColors: false
      json: false
  database: database.db
  sources:
    - path: "."
      name: backend
      config:
        indexingInterval: 0
        disabled: false
        maxWatchers: 0
        neverWatchPaths: null
        ignoreHidden: false
        ignoreZeroSizeFolders: false
        exclude:
          files: null
          folders: null
          fileEndsWith: null
        include:
          files: null
          folders: null
          fileEndsWith: null
        defaultUserScope: ''
        defaultEnabled: true
        createUserDir: false
  externalUrl: ''
  internalUrl: ''
  cacheDir: tmp
  maxArchiveSize: 50
auth:
  tokenExpirationHours: 2
  methods:
    proxy:
      enabled: false
      createUser: false
      header: ''
    noauth: false
    password:
      enabled: true
      minLength: 5
      signup: false
      recaptcha:
        host: ''
        key: ''
        secret: ''
  key: ''
  adminUsername: admin
  adminPassword: admin
frontend:
  name: FileBrowser Quantum
  disableDefaultLinks: false
  disableUsedPercentage: false
  externalLinks:
    - text: (untracked)
      title: this is hover text
      url: 'https://github.com/gtsteffaniak/filebrowser/releases/'
    - text: Help
      title: ''
      url: 'https://github.com/gtsteffaniak/filebrowser/wiki'
userDefaults:
  stickySidebar: true
  darkMode: true
  lockPassword: false
  locale: en
  viewMode: normal
  gallerySize: 3
  singleClick: false
  permissions:
    api: false
    admin: false
    modify: false
    share: false
  showHidden: false
  dateFormat: false
  themeColor: var(--blue)
  quickDownload: false
  disableOnlyOfficeExt: .txt .csv .html .pdf
integrations:
  office:
    url: ''
    secret: ''

Clone this wiki locally