Skip to content

Environment Variables Setup ​

Warning

If you are a Cloud user, this section is not relevant for you. You can skip this section.

🌐 Network ​

PORT ​

Set the application port for incoming connections.

Default: 5000

BIND ​

Define the application bind address for network interfaces.

Default: 0.0.0.0

NO_ZEROCONF ​

Disable zeroconf networking features. Zeroconf is useful for ObscreenOS users only.

Default: false

💬 Language & Localization ​

SETTING_LANG ​

Force a specific language for the application.

Default: (disabled)

SETTING_TIMEZONE ​

Force a specific timezone for the application.

Default: (disabled) # must be a valid timezone string e.g. 'Europe/Paris'

FALLBACK_LANG ​

Specify the fallback language if the primary is unavailable.

Default: en

LANGS_WHITELIST ​

Specify languages that users can manage.

Default: (disabled) # must be an array of strings e.g. "['en','fr','de']" - check list

🗄️ Database ​

DATABASE_ENGINE ​

Specify the database engine to be used.

Default: sqlite [possible values: sqlite, postgresql]

DATABASE_DSN ​

Define the Data Source Name for database connections.

Default: sqlite:///%application_dir%/data/db/obscreen.db

DATABASE_HOST ​

Set the host address for the database server.

Default: (disabled)

DATABASE_PORT ​

Define the port number for the database server.

Default: (disabled)

DATABASE_USER ​

Specify the username for database authentication.

Default: (disabled)

DATABASE_PASSWORD ​

Provide the password for database authentication.

Default: (disabled)

DATABASE_NAME ​

Set the name of the database to connect to.

Default: (disabled)

DATABASE_SCHEMA ​

Define the database schema to be used.

Default: (disabled)

📋 Logging ​

LOG_FILE ​

Specify the file path for logging output.

Default: (disabled)

LOG_LEVEL ​

Set the logging level (e.g., DEBUG, INFO, WARN).

Default: INFO [possible values: DEBUG, INFO, WARN, ERROR, CRITICAL]

LOG_STDOUT ​

Enable logging to standard output.

Default: false [possible values: true, false]

🔒 System & Security ​

BEHIND_REVERSE_PROXY ​

Enable reverse proxy support. Forwarded headers are used to determine the client's IP address, hostname, and other information. (X-Forwarded-For, X-Forwarded-Host, X-Forwarded-Proto)

Default: false [possible values: true, false]

TRUSTED_PROXIES ​

Specify the trusted proxies. (X-Forwarded-For, X-Forwarded-Host, X-Forwarded-Proto)

Default: (disabled) # must be a comma separated list, e.g. "127.0.0.1,192.168.1.1"

TRUSTED_HOSTS ​

Specify the trusted hosts. (X-Forwarded-Host)

Default: (disabled) # must be a comma separated list, e.g. "example.com,example.org"

SAFE_MODE ​

Enable safe mode with authentication disabled.

Default: false

EXPOSE_SYSTEM ​

Display system information.

Default: true

EXTERNAL_ONLY ​

Restrict content display to external URLs only.

Default: false

AUTH_MASTER_PASSWORD ​

Set a master password for authentication purposes. You still need to have a valid username to be able to login.

Default: (disabled)

📂 Directories ​

DATA_MOUNTPOINT ​

Define the directory for data mountpoints.

Default: %application_dir%/data

EXTERNAL_STORAGE_MOUNTPOINT ​

Set the directory for external storage mountpoints.

Default: %application_dir%/var/run/storage

🎨 Overriding in-app Settings ​

In-app Settings are stored in the database, but some settings are editable using environment variables.

What are Frozen Variables? ​

A frozen variable is an in-app setting that has been overridden by an environment variable. Once frozen, the setting cannot be changed from within the app until the environment variable is removed. If you unfreeze the variable, it will revert to the last value it held while frozen.

To create a frozen variable, prefix its name with FROZEN_VAR_ followed by the actual variable name. For example, to freeze EXTERNAL_URL and DEFAULT_SLIDE_TIME_WITH_SECONDS, use:

bash
FROZEN_VAR_EXTERNAL_URL=https://example.com
FROZEN_VAR_DEFAULT_SLIDE_TIME_WITH_SECONDS=true

How to identify frozen variable names? ​

You can identify frozen variable names on the settings page. Hover over a setting to reveal a link icon. Click the icon, and the page will refresh with the corresponding variable name highlighted. You can then find the variable name in the highlight URL parameter.