База данных
Хранилища данных 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:
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 остаётся нетронутым — удаляйте его вручную только после того, как убедитесь, что новый бэкенд работает.
Резервные копии
Какой бы бэкенд вы ни использовали, регулярно создавайте резервные копии — см. Резервное копирование и восстановление.

3x-ui