Skip to content

Configuration

Everything is an environment variable — there is no config file to keep in sync. The installer writes them into the systemd unit; /etc/wui/wui.env is read after it and overrides it.

VariableDefaultMeaning
WUI_LISTEN127.0.0.1:2096address to serve on
WUI_BASE_PATH/the secret URL prefix
WUI_TLS_CERT / WUI_TLS_KEYserve HTTPS with this pair
WUI_TRUSTED_PROXIESCIDRs allowed to set X-Forwarded-*
WUI_DATA_DIR./datadatabase and state
WUI_DB_DRIVERsqlitesqlite or postgres
WUI_DB_SOURCE<data dir>/wui.dbfile path or DSN; the installer keeps both database variables in /etc/wui/db.env (root only, read by the unit and the script)
WUI_BACKUP_DIR<data dir>/backupswhere scheduled backups go; the installer points it at /var/backups/wui
WUI_COLLECT_INTERVAL2show often usage is read (minimum 1s)
WUI_DEFAULT_LOCALEenen or fa
WUI_LOG_LEVELinfodebug, info, warn, error
WUI_LOG_FORMATtexttext or json
WUI_DEBUGfalseverbose diagnostics

Precedence

  1. What the settings page saved (wui setting set, or Settings → General) — listen, port, path, certificate, trusted proxies, time zone;
  2. /etc/wui/wui.env;
  3. the unit's Environment= lines;
  4. the defaults above.

So a port changed in the panel sticks across reinstalls, and the environment is only what a fresh install runs on.

Paths

/usr/local/bin/wuithe panel
/usr/local/bin/w-uithe menu
/etc/systemd/system/wui.servicethe unit
/etc/wui/wui.env, certs/, install-result.env
/var/lib/wui/wui.db, openvpn/, geoip/, hops/, history.gob
/var/backups/wui/scheduled backups
/var/log/wui/fail2ban's ban log
/root/.acme.sh/acme.sh and its renewal state

Released under the AGPL-3.0 License.