Environment Variables Setup
🌐 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
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:
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.