#getting-started
SilverBullet is primarily configured via environment variables. This page gives a comprehensive overview of all configuration options. You can set these ad-hoc when running the SilverBullet server, or e.g. in your Install/Docker|docker-compose file.
SB_INDEX_PAGE: Sets the default page to load, defaults to index.SB_SPACE_IGNORE: Ignore certain path patterns based on a .gitignore style format, e.g. SB_SPACE_IGNORE="IgnoreMe/*".SB_HTTP_LOGGING: Set to any value to enable HTTP loggingSB_LOG_PUSH: Set to any value to ask clients to push their logs to the server (for debugging purposes)SB_HOSTNAME: Set to the hostname to bind to (defaults to 127.0.0.0, set to 0.0.0.0 to accept outside connections for the local setup, defaults to 0.0.0.0 for docker)SB_PORT: Sets the port to listen to, e.g. SB_PORT=1234, default is 3000SB_URL_PREFIX: Host SilverBullet on a particular URL prefix, e.g. SB_URL_PREFIX=/notesSilverBullet supports basic authentication for a single user.
SB_USER: Sets single-user credentials, e.g. SB_USER=pete:1234 allows you to login with username “pete” and password “1234”.SB_AUTH_TOKEN: Enables Authorization: Bearer <token> style authentication on the HTTP API.SB_LOCKOUT_LIMIT: Specifies the number of failed login attempt before locking the user out (for a SB_LOCKOUT_TIME specified amount of seconds), defaults to 10SB_LOCKOUT_TIME: Specifies the amount of time (in seconds) a client will be blocked until attempting to log back in, defaults to 60.SB_REMEMBER_ME_HOURS: Sets the session duration in hours when "Remember me" is checked during login, defaults to 7 days.SilverBullet supports storage backends for keeping your Space content. Right now the only supported backend is to use your local disk.
This is the default and simplest backend to use: a folder on disk. It is configured as follows:
SB_FOLDER: Sets the folder to expose. In the docker container, this defaults to /space.SB_READ_ONLY (==Experimental==): If you want to run the SilverBullet client and server in read-only mode (you get the full SilverBullet client, but all edit functionality and commands are disabled), you can do this by setting this environment variable to a non-empty value. Upon the server start a full space index will happen, after which all write operations will be disabled.SB_RUNTIME_API: The Runtime API is enabled automatically when Chrome/Chromium is detected on the system. Set to 0 to explicitly disable. Not available in read-only mode.SB_CHROME_PATH: Optional explicit path to the Chrome/Chromium binary. Falls back to the CHROMIUM_PATH environment variable (pre-set in the -runtime-api Docker image), then auto-detection.SB_CHROME_SHOW: Set to any non-empty value to run Chrome with a visible window instead of headless (useful for debugging).SB_CHROME_DATA_DIR: Path to persist the Chrome user profile between restarts. When not set, defaults to .chrome-data inside the space folder.SilverBullet enables plugs to run shell commands. This is potentially unsafe. If you don’t need this, you can disable this functionality:
SB_SHELL_BACKEND: Enable/disable running of shell commands from plugs, defaults to local (enabled), set to off to disable. It is only enabled when using a local folder for #Storage.SB_SHELL_WHITELIST: Allow only a specific list of shell commands (just the first command name, not arguments). When not set, allows all shell commands. Example: SB_SHELL_WHITELIST="git pandoc"Configuration only relevant to docker deployments:
PUID: Runs the server process with the specified UID (default: whatever user owns the /space mapped folder)PGID: Runs the server process with the specified GID (default: whatever group owns the /space mapped folder)SilverBullet offers a few basic Prometheus metrics, these can be configured with the following environment variables:
SB_METRICS_PORT: HTTP port to expose metrics (under the default /metrics endpoint) onConfigure aspects of web app appearance as well as the authentication page:
SB_NAME: Sets name and short_name members of web app manifest to whatever specified in SB_NAMESB_DESCRIPTION: Sets description member of web app manifest to whatever specified in SB_DESCRIPTION