Перейти к содержимому

Настройка

DashLit читает переменные окружения процесса и необязательный файл .env. Переменные процесса имеют приоритет. В контейнерной установке передавайте параметры через Compose или другое средство запуска контейнеров.

Основные параметры

Для большинства установок в контейнере достаточно безопасного JWT_SECRET. Внутренний адрес и пути к данным уже настроены в образе.

ПеременнаяПо умолчаниюНазначение
JWT_SECRETЗначение для разработкиСекрет для подписи сессий. Обязательно замените в production.
DEV_MODEfalseПодробная диагностика базы данных для разработки.

Параметры аутентификации

ПеременнаяПо умолчаниюНазначение
OIDC_ISSUERПустоURL OIDC issuer. Пустое значение отключает OIDC.
OIDC_CLIENT_IDПустоClient ID, зарегистрированный у провайдера.
OIDC_CLIENT_SECRETПустоClient secret, если он требуется провайдером.
OIDC_REDIRECT_URLЛокальный callbackВнешний URL с окончанием /api/auth/oidc/callback.
OIDC_BUTTON_TITLESign in with OIDCТекст кнопки на странице входа.
OIDC_INSECURE_SKIP_TLS_VERIFYfalseОтключает проверку TLS-сертификата для всех OIDC-запросов. Небезопасно; используйте только для доверенного локального провайдера.
DISABLE_PASSWORD_REGISTRATIONfalseЗапрещает регистрацию новых парольных аккаунтов.
DISABLE_OIDC_REGISTRATIONfalseЗапрещает неизвестным OIDC-профилям создавать аккаунты.
DISABLE_OIDC_USER_MERGEfalseНе связывает совпадающие парольные и OIDC-профили.
DISABLE_PASSWORD_LOGINfalseОтключает вход по паролю после полной настройки OIDC.

OIDC_ISSUER и OIDC_CLIENT_ID должны быть либо оба заполнены, либо оба пусты. Пока OIDC настроен не полностью, DashLit сохраняет вход по паролю как способ восстановления даже при DISABLE_PASSWORD_LOGIN=true.

Пример production-окружения

dotenv
JWT_SECRET=use-a-long-random-value
DEV_MODE=false

OIDC_ISSUER=https://id.example.com
OIDC_CLIENT_ID=dashlit
OIDC_CLIENT_SECRET=provider-issued-secret
OIDC_REDIRECT_URL=https://dash.example.com/api/auth/oidc/callback
OIDC_BUTTON_TITLE=Войти через Pocket ID
OIDC_INSECURE_SKIP_TLS_VERIFY=false

DISABLE_PASSWORD_REGISTRATION=true
DISABLE_OIDC_REGISTRATION=false
DISABLE_OIDC_USER_MERGE=false
DISABLE_PASSWORD_LOGIN=true

Продвинутые настройки хранилища и сети

Эти параметры описывают внутреннее устройство приложения и обычно не нужны в стандартном контейнере:

ПеременнаяПо умолчаниюНазначение
ADDR:8080Адрес и порт, прослушиваемые процессом.
DATA_DIR./dataКаталог базы, загруженных иконок и кеша. Образ задаёт /data.
DATABASE_PATH$DATA_DIR/bookmarks.dbИзменяет расположение файла SQLite.

Меняйте их только для собственного runtime, нестандартной файловой структуры или запуска из исходников. Родительский каталог DATABASE_PATH должен быть доступен для записи. Legacy-миграция ищет dashboard.json именно рядом с этим файлом.

Права внутри контейнера

Готовый образ работает от непривилегированного пользователя с UID и GID 10001. Именованные Docker-тома инициализируются автоматически. Для bind mount проще всего разрешить запись всем:

bash
mkdir -p ./data
sudo chmod -R 777 ./data

Для более точечной настройки назначьте каталог числовому UID контейнера. Учтите, что после этого обычный пользователь хоста может потерять право записи:

bash
sudo chown -R 10001:10001 ./data
sudo chmod -R 750 ./data

Распространяется по лицензии MIT.