EasyXrayEasyXray
Справочник

База данных

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

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

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

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

PostgreSQL

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

/etc/default/easyxray
EASYXRAY_DB_TYPE=postgres
EASYXRAY_DB_DSN=postgres://easyxray:password@127.0.0.1:5432/easyxray?sslmode=disable

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

Docker

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

docker compose --profile postgres up -d

Миграция SQLite → PostgreSQL

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

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

Затем задайте EASYXRAY_DB_TYPE и EASYXRAY_DB_DSN в /etc/default/easyxray и перезапустите:

systemctl restart easyxray

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

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

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

On this page