Display L-UI; panel binary/process l-ui, agent lui-agent. Dirs /usr/local/l-ui, /etc/l-ui, /var/log/l-ui; DB /etc/l-ui/l-ui.db (name file drives it via GetName), probe.db beside it, cert /etc/l-ui/cert, bin /usr/local/l-ui/bin. Services l-ui.service / lui-agent.service, OpenRC lui-agent, l-ui.sh, cmd/lui-agent. Env prefix XUI_ -> LUI_ (code reads new prefix only). Release assets l-ui-linux-* / lui-agent-linux-*; Gitea repo rogue/l-ui is a placeholder pending user confirmation (see selfupdate.go note). Go module path github.com/mhsanaei/3x-ui/v3 intentionally kept. Versions unchanged: panel V2.6.0 / agent A2.5.0.
178 lines
6.1 KiB
Bash
178 lines
6.1 KiB
Bash
# This file serves a dual purpose:
|
||
# 1. Developer Bootstrap: The active (uncommented) variables directly below
|
||
# configure a safe, unprivileged local environment for 'go run .'.
|
||
# This allows 'cp .env.example .env' to work out-of-the-box without root.
|
||
# 2. Production Reference: All available LUI_* configuration options are
|
||
# documented and commented out in the reference section further below.
|
||
#
|
||
# L-UI reads its runtime configuration from LUI_* environment variables.
|
||
# On a script install, the installer writes them to the service environment file
|
||
# (/etc/default/l-ui, /etc/conf.d/l-ui, or /etc/sysconfig/l-ui depending on the distro).
|
||
# For Docker, you set them in docker-compose.yml or via 'docker run -e'.
|
||
#
|
||
# Defaults are sensible — set only what you need to change, then restart:
|
||
# systemctl restart l-ui
|
||
|
||
# ------------------------------------------------------------------------------
|
||
# LOCAL DEVELOPMENT OVERRIDES (ACTIVE BY DEFAULT)
|
||
# ------------------------------------------------------------------------------
|
||
LUI_DEBUG=true
|
||
LUI_DB_FOLDER=l-ui
|
||
LUI_LOG_FOLDER=l-ui
|
||
LUI_BIN_FOLDER=l-ui
|
||
LUI_INIT_WEB_BASE_PATH=/
|
||
|
||
# ==============================================================================
|
||
# REFERENCE CONFIGURATION (ALL OPTIONS)
|
||
# ==============================================================================
|
||
|
||
# ------------------------------------------------------------------------------
|
||
# Database
|
||
# ------------------------------------------------------------------------------
|
||
# Backend database type: sqlite, or postgres (also accepts postgresql / pg)
|
||
# Default: sqlite
|
||
#LUI_DB_TYPE=sqlite
|
||
|
||
# Folder for the SQLite database file (l-ui.db)
|
||
# Default: /etc/l-ui (Overridden to 'l-ui' in the development block above)
|
||
#LUI_DB_FOLDER=/etc/l-ui
|
||
|
||
# PostgreSQL connection string (used when LUI_DB_TYPE=postgres)
|
||
# Example: postgres://user:password@localhost:5432/dbname?sslmode=disable
|
||
#LUI_DB_DSN=
|
||
|
||
# Max open connections in the PostgreSQL pool
|
||
#LUI_DB_MAX_OPEN_CONNS=
|
||
|
||
# Max idle connections in the PostgreSQL pool
|
||
#LUI_DB_MAX_IDLE_CONNS=
|
||
|
||
# PostgreSQL Docker Container Settings
|
||
# Default credentials used if you are running PostgreSQL via docker-compose
|
||
#POSTGRES_USER=xui
|
||
#POSTGRES_PASSWORD=xui
|
||
#POSTGRES_DB=xui
|
||
|
||
|
||
# ------------------------------------------------------------------------------
|
||
# Panel
|
||
# ------------------------------------------------------------------------------
|
||
# Override the panel port (1–65535). Takes precedence over the stored setting.
|
||
#LUI_PORT=
|
||
|
||
# Initial web base path on FIRST launch (e.g., /panel)
|
||
# Default: /
|
||
#LUI_INIT_WEB_BASE_PATH=/
|
||
|
||
# Enable Fail2ban-based IP-limit enforcement
|
||
# Default: true
|
||
#LUI_ENABLE_FAIL2BAN=true
|
||
|
||
# Skip the HSTS header — set true when TLS is terminated by a reverse proxy
|
||
# Default: false
|
||
#LUI_SKIP_HSTS=false
|
||
|
||
|
||
# ------------------------------------------------------------------------------
|
||
# Logging & binaries
|
||
# ------------------------------------------------------------------------------
|
||
# Logging level: debug, info, notice, warning, or error
|
||
# Default: info
|
||
#LUI_LOG_LEVEL=info
|
||
|
||
# Debug mode. Forces log level to debug, enables Gin debug mode,
|
||
# and ensures frontend assets are served directly from disk (see CLAUDE.md).
|
||
# Default: false (Overridden to 'true' in the development block at the top)
|
||
#LUI_DEBUG=false
|
||
|
||
# Log output directory
|
||
# Default: /var/log/l-ui (Overridden to 'l-ui' in the development block above)
|
||
#LUI_LOG_FOLDER=/var/log/l-ui
|
||
|
||
# Folder for the Xray-core binary and geosite/geoip files
|
||
# Default: bin (Overridden to 'l-ui' in the development block above)
|
||
#LUI_BIN_FOLDER=bin
|
||
|
||
# Legacy Path Settings
|
||
# Main installation folder (Default: /usr/local/l-ui for Linux, /app for Docker)
|
||
#LUI_MAIN_FOLDER=/usr/local/l-ui
|
||
# Path to the systemd service file (Default: /etc/systemd/system)
|
||
#LUI_SERVICE=/etc/systemd/system
|
||
|
||
|
||
# ------------------------------------------------------------------------------
|
||
# Memory & profiling
|
||
# ------------------------------------------------------------------------------
|
||
# Go GC target percentage; lower = less RAM, slightly more CPU.
|
||
# Default: 75
|
||
#LUI_GOGC=
|
||
|
||
# Minutes between FreeOSMemory calls; 0 disables.
|
||
# Default: 10
|
||
#LUI_MEMORY_RELEASE_INTERVAL=
|
||
|
||
# Go soft memory limit in MiB
|
||
#LUI_MEMORY_LIMIT=
|
||
|
||
# Go-syntax soft limit (e.g., 400MiB); takes precedence over LUI_MEMORY_LIMIT
|
||
#GOMEMLIMIT=
|
||
|
||
# Expose pprof profiling on 127.0.0.1:6060
|
||
# Default: false
|
||
#LUI_PPROF=false
|
||
|
||
# Automatically set to 'true' inside the official Docker image.
|
||
# Consumed by internal scripts (l-ui.sh) to detect the environment.
|
||
# There is normally no need to set or toggle this variable manually.
|
||
# Default: false (automatically 'true' in Docker environments)
|
||
#LUI_IN_DOCKER=false
|
||
|
||
|
||
# ------------------------------------------------------------------------------
|
||
# Xray
|
||
# ------------------------------------------------------------------------------
|
||
# Force VMess AEAD
|
||
# Default: false
|
||
#XRAY_VMESS_AEAD_FORCED=false
|
||
|
||
|
||
# ------------------------------------------------------------------------------
|
||
# Tunnel health monitor
|
||
# ------------------------------------------------------------------------------
|
||
# Optional watchdog: probes a URL (optionally through a local Xray inbound)
|
||
# and restarts Xray after repeated failures. A restart drops all connected clients.
|
||
# Default: false
|
||
#LUI_TUNNEL_HEALTH_MONITOR=false
|
||
|
||
# Proxy to send the probe through, e.g., socks5://127.0.0.1:1080
|
||
# Empty = only checks host connectivity
|
||
#LUI_TUNNEL_HEALTH_PROXY=
|
||
|
||
# URL to probe
|
||
# Default: https://www.cloudflare.com/cdn-cgi/trace
|
||
#LUI_TUNNEL_HEALTH_URL=https://www.cloudflare.com/cdn-cgi/trace
|
||
|
||
# Interval between probes
|
||
# Default: 30s
|
||
#LUI_TUNNEL_HEALTH_INTERVAL=30s
|
||
|
||
# Per-probe timeout
|
||
# Default: 10s
|
||
#LUI_TUNNEL_HEALTH_TIMEOUT=10s
|
||
|
||
# Consecutive failures before a restart
|
||
# Default: 3
|
||
#LUI_TUNNEL_HEALTH_FAILURES=3
|
||
|
||
# Minimum delay between restarts
|
||
# Default: 5m
|
||
#LUI_TUNNEL_HEALTH_COOLDOWN=5m
|
||
|
||
|
||
# ------------------------------------------------------------------------------
|
||
# Unattended install
|
||
# ------------------------------------------------------------------------------
|
||
# Set to 1 (or run with no TTY) to install with zero prompts.
|
||
# Generated credentials will be written to /etc/l-ui/install-result.env
|
||
#LUI_NONINTERACTIVE=1
|