The preferred configuration method is to use config.yaml. However, environment variables are available for secrets, config override, and developer purposes.

Available Variables

VariableConfig EquivalentDescription
FILEBROWSER_CONFIG-Config file path when no CLI argument provided
FILEBROWSER_DATABASEserver.databaseDatabase file path
FILEBROWSER_ADMIN_PASSWORDauth.adminPasswordAdmin password
FILEBROWSER_ONLYOFFICE_SECRETintegrations.office.secretOnlyOffice JWT secret
FILEBROWSER_FFMPEG_PATHintegrations.media.ffmpegPathPath to FFmpeg binaries
FILEBROWSER_OIDC_CLIENT_IDauth.methods.oidc.clientIdOIDC client ID
FILEBROWSER_OIDC_CLIENT_SECRETauth.methods.oidc.clientSecretOIDC client secret
FILEBROWSER_JWT_TOKEN_SECRETauth.keyJWT signing key
FILEBROWSER_TOTP_SECRETauth.totpSecretTOTP encryption secret
FILEBROWSER_RECAPTCHA_SECRETauth.methods.password.recaptcha.secretreCAPTCHA secret key

Usage Example

Docker Compose:

services:
  filebrowser:
    image: gtstef/filebrowser:latest
    environment:
      - FILEBROWSER_ADMIN_PASSWORD=secure-password
      - FILEBROWSER_ONLYOFFICE_SECRET=office-secret
    volumes:
      - ./config.yaml:/home/filebrowser/config.yaml

Binary:

export FILEBROWSER_ADMIN_PASSWORD="secure-password"
export FILEBROWSER_JWT_TOKEN_SECRET="jwt-secret"
./filebrowser -c config.yaml

Next Steps