3x-ui3x-ui
Справочник

База данных

Хранилища данных 3x-ui — SQLite (по умолчанию) и PostgreSQL — путь к базе данных, пул соединений и миграция с SQLite на PostgreSQL.

3x-ui хранит всё — входящие подключения, клиентов, настройки — в базе данных. Бэкенд выбирается во время установки; оба являются полноценными.

SQLite (по умолчанию)

Один файл по пути /etc/x-ui/x-ui.db. Никакой настройки не требуется, идеально подходит для небольших и средних развёртываний. Папку можно изменить с помощью XUI_DB_FOLDER (в Windows по умолчанию она располагается рядом с бинарным файлом).

PostgreSQL

Рекомендуется при большом количестве клиентов или конфигурациях с несколькими узлами. Инсталлятор может установить PostgreSQL локально за вас либо принять DSN к уже существующему серверу. Во время выполнения бэкенд выбирается через переменные окружения, которые инсталлятор записывает в /etc/default/x-ui:

/etc/default/x-ui
XUI_DB_TYPE=postgres
XUI_DB_DSN=postgres://xui:password@127.0.0.1:5432/xui?sslmode=disable

Настройте пул соединений с помощью XUI_DB_MAX_OPEN_CONNS и XUI_DB_MAX_IDLE_CONNS.

Docker

docker compose up -d продолжает использовать SQLite. Чтобы запустить со встроенным сервисом PostgreSQL, раскомментируйте две строки XUI_DB_* в docker-compose.yml и запустите с профилем:

docker compose --profile postgres up -d

Миграция SQLite → PostgreSQL

Перенесите существующую установку SQLite на PostgreSQL встроенной командой:

x-ui migrate-db --dsn "postgres://xui:password@127.0.0.1:5432/xui?sslmode=disable"

Затем задайте XUI_DB_TYPE и XUI_DB_DSN в /etc/default/x-ui и перезапустите:

systemctl restart x-ui

Исходный файл SQLite остаётся нетронутым — удаляйте его вручную только после того, как убедитесь, что новый бэкенд работает.

Резервные копии

Какой бы бэкенд вы ни использовали, регулярно создавайте резервные копии — см. Резервное копирование и восстановление.

On this page