| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- # 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 XUI_* configuration options are
- # documented and commented out in the reference section further below.
- #
- # 3x-ui reads its runtime configuration from XUI_* environment variables.
- # On a script install, the installer writes them to the service environment file
- # (/etc/default/x-ui, /etc/conf.d/x-ui, or /etc/sysconfig/x-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 x-ui
- # ------------------------------------------------------------------------------
- # LOCAL DEVELOPMENT OVERRIDES (ACTIVE BY DEFAULT)
- # ------------------------------------------------------------------------------
- XUI_DEBUG=true
- XUI_DB_FOLDER=x-ui
- XUI_LOG_FOLDER=x-ui
- XUI_BIN_FOLDER=x-ui
- XUI_INIT_WEB_BASE_PATH=/
- # ==============================================================================
- # REFERENCE CONFIGURATION (ALL OPTIONS)
- # ==============================================================================
- # ------------------------------------------------------------------------------
- # Database
- # ------------------------------------------------------------------------------
- # Backend database type: sqlite, or postgres (also accepts postgresql / pg)
- # Default: sqlite
- #XUI_DB_TYPE=sqlite
- # Folder for the SQLite database file (x-ui.db)
- # Default: /etc/x-ui (Overridden to 'x-ui' in the development block above)
- #XUI_DB_FOLDER=/etc/x-ui
- # PostgreSQL connection string (used when XUI_DB_TYPE=postgres)
- # Example: postgres://user:password@localhost:5432/dbname?sslmode=disable
- #XUI_DB_DSN=
- # Max open connections in the PostgreSQL pool
- #XUI_DB_MAX_OPEN_CONNS=
- # Max idle connections in the PostgreSQL pool
- #XUI_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.
- #XUI_PORT=
- # Initial web base path on FIRST launch (e.g., /panel)
- # Default: /
- #XUI_INIT_WEB_BASE_PATH=/
- # Enable Fail2ban-based IP-limit enforcement
- # Default: true
- #XUI_ENABLE_FAIL2BAN=true
- # Skip the HSTS header — set true when TLS is terminated by a reverse proxy
- # Default: false
- #XUI_SKIP_HSTS=false
- # ------------------------------------------------------------------------------
- # Logging & binaries
- # ------------------------------------------------------------------------------
- # Logging level: debug, info, notice, warning, or error
- # Default: info
- #XUI_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)
- #XUI_DEBUG=false
- # Log output directory
- # Default: /var/log/x-ui (Overridden to 'x-ui' in the development block above)
- #XUI_LOG_FOLDER=/var/log/x-ui
- # Folder for the Xray-core binary and geosite/geoip files
- # Default: bin (Overridden to 'x-ui' in the development block above)
- #XUI_BIN_FOLDER=bin
- # Legacy Path Settings
- # Main installation folder (Default: /usr/local/x-ui for Linux, /app for Docker)
- #XUI_MAIN_FOLDER=/usr/local/x-ui
- # Path to the systemd service file (Default: /etc/systemd/system)
- #XUI_SERVICE=/etc/systemd/system
- # ------------------------------------------------------------------------------
- # Memory & profiling
- # ------------------------------------------------------------------------------
- # Go GC target percentage; lower = less RAM, slightly more CPU.
- # Default: 75
- #XUI_GOGC=
- # Minutes between FreeOSMemory calls; 0 disables.
- # Default: 10
- #XUI_MEMORY_RELEASE_INTERVAL=
- # Go soft memory limit in MiB
- #XUI_MEMORY_LIMIT=
- # Go-syntax soft limit (e.g., 400MiB); takes precedence over XUI_MEMORY_LIMIT
- #GOMEMLIMIT=
- # Expose pprof profiling on 127.0.0.1:6060
- # Default: false
- #XUI_PPROF=false
- # Automatically set to 'true' inside the official Docker image.
- # Consumed by internal scripts (x-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)
- #XUI_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
- #XUI_TUNNEL_HEALTH_MONITOR=false
- # Proxy to send the probe through, e.g., socks5://127.0.0.1:1080
- # Empty = only checks host connectivity
- #XUI_TUNNEL_HEALTH_PROXY=
- # URL to probe
- # Default: https://www.cloudflare.com/cdn-cgi/trace
- #XUI_TUNNEL_HEALTH_URL=https://www.cloudflare.com/cdn-cgi/trace
- # Interval between probes
- # Default: 30s
- #XUI_TUNNEL_HEALTH_INTERVAL=30s
- # Per-probe timeout
- # Default: 10s
- #XUI_TUNNEL_HEALTH_TIMEOUT=10s
- # Consecutive failures before a restart
- # Default: 3
- #XUI_TUNNEL_HEALTH_FAILURES=3
- # Minimum delay between restarts
- # Default: 5m
- #XUI_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/x-ui/install-result.env
- #XUI_NONINTERACTIVE=1
|