rename: 3x-ui/x-ui -> L-UI/l-ui/lui-agent (paths, services, env, assets)
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.
This commit is contained in:
+15
-15
@@ -1,14 +1,14 @@
|
||||
services:
|
||||
3xui:
|
||||
l-ui:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: ./Dockerfile
|
||||
container_name: 3xui_app
|
||||
container_name: l-ui_app
|
||||
# hostname: yourhostname <- optional
|
||||
# Optional hard memory cap. When set, the panel derives its Go soft limit
|
||||
# (GOMEMLIMIT, ~90% of this cap) so it GCs before the OOM killer fires.
|
||||
# mem_limit: 512m
|
||||
# The bundled Fail2ban (XUI_ENABLE_FAIL2BAN below) enforces the IP limit
|
||||
# The bundled Fail2ban (LUI_ENABLE_FAIL2BAN below) enforces the IP limit
|
||||
# with iptables, which needs NET_ADMIN. Without these caps a ban is logged
|
||||
# and shown in fail2ban status but never actually applied. NET_RAW covers
|
||||
# ip6tables. If you disable Fail2ban, you can drop cap_add.
|
||||
@@ -20,39 +20,39 @@ services:
|
||||
- NET_ADMIN
|
||||
- NET_RAW
|
||||
volumes:
|
||||
- $PWD/db/:/etc/x-ui/
|
||||
- $PWD/db/:/etc/l-ui/
|
||||
- $PWD/cert/:/root/cert/
|
||||
# Persists acme.sh state so certificate auto-renewal survives container
|
||||
# recreation (the entrypoint re-registers the renewal cron job from it).
|
||||
- $PWD/acme/:/root/.acme.sh/
|
||||
environment:
|
||||
XRAY_VMESS_AEAD_FORCED: "false"
|
||||
XUI_ENABLE_FAIL2BAN: "true"
|
||||
LUI_ENABLE_FAIL2BAN: "true"
|
||||
# Memory tuning. The panel keeps RAM low via GOGC + periodic release; it no
|
||||
# longer sets a soft limit from total host RAM (no benefit, risks GC thrash).
|
||||
# XUI_GOGC: "75" # lower = less RAM, slightly more CPU; GOGC env overrides
|
||||
# XUI_MEMORY_RELEASE_INTERVAL: "10" # minutes between FreeOSMemory; 0 disables
|
||||
# LUI_GOGC: "75" # lower = less RAM, slightly more CPU; GOGC env overrides
|
||||
# LUI_MEMORY_RELEASE_INTERVAL: "10" # minutes between FreeOSMemory; 0 disables
|
||||
# Go memory soft limit, only applied from an explicit budget below (or a
|
||||
# real cgroup/mem_limit cap). Pin it with one of:
|
||||
# XUI_MEMORY_LIMIT: "400" # in MiB
|
||||
# LUI_MEMORY_LIMIT: "400" # in MiB
|
||||
# GOMEMLIMIT: "400MiB" # Go syntax, takes precedence
|
||||
# XUI_PPROF: "true" # expose pprof on 127.0.0.1:6060 for profiling
|
||||
# XUI_INIT_WEB_BASE_PATH: "/"
|
||||
# XUI_PORT: "8080"
|
||||
# LUI_PPROF: "true" # expose pprof on 127.0.0.1:6060 for profiling
|
||||
# LUI_INIT_WEB_BASE_PATH: "/"
|
||||
# LUI_PORT: "8080"
|
||||
# To use PostgreSQL instead of the default SQLite, run:
|
||||
# docker compose --profile postgres up -d
|
||||
# and uncomment the two lines below.
|
||||
# XUI_DB_TYPE: "postgres"
|
||||
# XUI_DB_DSN: "postgres://xui:xui@postgres:5432/xui?sslmode=disable"
|
||||
# LUI_DB_TYPE: "postgres"
|
||||
# LUI_DB_DSN: "postgres://xui:xui@postgres:5432/xui?sslmode=disable" # postgres user/db kept: renaming them would orphan existing pgdata
|
||||
tty: true
|
||||
ports:
|
||||
# When XUI_PORT is set, publish the same container port (for example "8080:8080").
|
||||
# When LUI_PORT is set, publish the same container port (for example "8080:8080").
|
||||
- "2053:2053"
|
||||
restart: unless-stopped
|
||||
|
||||
postgres:
|
||||
image: postgres:16-alpine
|
||||
container_name: 3xui_postgres
|
||||
container_name: l-ui_postgres
|
||||
profiles: ["postgres"]
|
||||
environment:
|
||||
POSTGRES_USER: xui
|
||||
|
||||
Reference in New Issue
Block a user