Перейти до вмісту

Довідник змінних середовища

Цей посібник охоплює всі змінні середовища, доступні в Onetime Secret v0.22.4+.

Встановіть їх у вашому файлі .env, середовищі, або додайте їх до ваших команд docker або файлу docker-compose.yml. Всі змінні є необов’язковими, якщо не позначені як обов’язкові.

Основні налаштування додатку

Section titled “Основні налаштування додатку”
Термінал
SECRET=your-32-char-hex-key # Секретний ключ для сесій та шифрування (ОБОВ'ЯЗКОВО) - НЕ змінюйте після встановлення
PORT=3000 # Порт для веб-сервера для прослуховування (за замовчуванням: 3000)
HOST=localhost:3000 # Комбінація хоста та порту, що використовується для генерації посилань
SSL=true # Контролює https/http при генерації посилань (true/false)
SERVER_TYPE=thin # Тип веб-сервера: thin, puma
RACK_ENV=production # Середовище додатку: development, production, test

ПРИМІТКА: Змінні, що починаються з REDIS_, можуть альтернативно бути встановлені з префіксом VALKEY_.

Термінал
REDIS_URL=redis://localhost:6379/0 # Рядок підключення Redis для сесій, секретів та всіх даних додатку

Автентифікація та безпека

Section titled “Автентифікація та безпека”
Термінал
AUTH_ENABLED=true # Увімкнути систему автентифікації (вимикає автентифікацію API, коли false)
AUTH_SIGNUP=true # Дозволити реєстрацію нових користувачів
AUTH_SIGNIN=true # Дозволити існуючим користувачам входити
AUTH_AUTOVERIFY=false # Пропустити підтвердження електронної пошти для нових облікових записів
COLONEL=email@example.com # Електронні адреси адміністраторів, які отримують привілеї "colonel" (розділені комами)

Примітка: “Colonel” - це наш термін для користувачів “admin”. Colonels можуть отримати доступ до адміністративної зони за адресою /colonel, яка показує базову статистику системи. Інтерфейс адміністратора наразі має обмежений функціонал - немає управління користувачами та тільки перегляд конфігурації в режимі читання.

Інтерфейс користувача та функції

Section titled “Інтерфейс користувача та функції”
Термінал
UI_ENABLED=true # Увімкнути веб-інтерфейс користувача (показує мінімальну сторінку, коли вимкнено)
API_ENABLED=true # Увімкнути REST API ендпоінти (повертає 404, коли вимкнено)
CSP_ENABLED=true # Увімкнути заголовки Content Security Policy
HEADER_ENABLED=true # Показати заголовок сайту з брендингом
HEADER_NAV_ENABLED=true # Показати навігаційні посилання в заголовку
HEADER_PREFIX=
DOMAINS_ENABLED=false # Увімкнути підтримку власних доменів
REGIONS_ENABLED=false # Увімкнути підтримку багаторегіонального розгортання. Це не впливає
# на функціональність додатку. Але це вмикає компоненти UI
# для посилання на інші регіони.
Термінал
LOGO_URL= # URL до власного зображення логотипу (за замовчуванням вбудований логотип)
LOGO_ALT=
LOGO_LINK=
FOOTER_LINKS=
ABOUT_URL=
ABOUT_EXTERNAL=false
CONTACT_URL=
PRIVACY_URL=
PRIVACY_EXTERNAL=false
TERMS_URL=
TERMS_EXTERNAL=false
STATUS_URL=
STATUS_EXTERNAL=false

Відправлення електронної пошти

Section titled “Відправлення електронної пошти”
Термінал
EMAILER_MODE=smtp # Режим сервісу електронної пошти (smtp, sendgrid тощо.)
EMAILER_REGION= # Регіон сервісу електронної пошти (для хмарних провайдерів)
FROM_EMAIL=noreply@localhost # Стандартна адреса електронної пошти відправника
FROM= # Ім'я відправника (альтернатива FROMNAME)
FROMNAME= # Відображуване ім'я для відправника
SMTP_HOST= # Ім'я хоста SMTP-сервера
SMTP_PORT=587 # Порт SMTP-сервера (зазвичай 587 для TLS, 25 для звичайного)
SMTP_USERNAME= # Ім'я користувача для автентифікації SMTP
SMTP_PASSWORD= # Пароль для автентифікації SMTP
SMTP_TLS=true # Увімкнути шифрування TLS для SMTP
SMTP_AUTH=login # Метод автентифікації SMTP (login, plain тощо.)
Термінал
DEFAULT_TTL=604800 # Стандартний час закінчення секретів у секундах (604800 = 7 днів)
TTL_OPTIONS=300,1800,3600,86400 # Доступні варіанти TTL, представлені користувачам, розділені комами (секунди)
DEFAULT_DOMAIN= # Стандартний домен для секретних посилань (використовує HOST, якщо порожньо)
ALLOW_NIL_GLOBAL_SECRET=false # Дозволити роботу з відсутнім ключем SECRET (екстрене відновлення)

Перевірка електронних адрес

Section titled “Перевірка електронних адрес”

Перевірка електронних адрес обробляється бібліотекою Truemail, яка підтримує кілька типів перевірки, включаючи regex, пошук записів MX та перевірку SMTP.

Термінал
VERIFIER_DOMAIN= # Домен для перевірки SMTP (обов'язково для перевірки SMTP)
VERIFIER_EMAIL= # Адреса електронної пошти для перевірки SMTP (обов'язково для перевірки SMTP)

Примітка: Багато додаткових параметрів конфігурації Truemail доступні в конфігурації YAML у розділі truemail:, включаючи типи перевірки, налаштування тайм-аутів, дозволені/заблоковані домени, DNS-сервери та багато іншого. Перегляньте config/config.yaml для повної конфігурації.

Термінал
I18N_ENABLED=true # Увімкнути інтернаціоналізацію
I18N_DEFAULT_LOCALE=en # Стандартна мовна локаль

Розробка та налагодження

Section titled “Розробка та налагодження”
Термінал
ONETIME_DEBUG=false # Увімкнути режим налагодження
LOG_HTTP_REQUESTS=false # Логувати HTTP-запити
STDOUT_SYNC=true # Синхронізувати вивід stdout
DIAGNOSTICS_ENABLED=false # Увімкнути діагностику
FRONTEND_HOST=http://localhost:5173 # URL dev-сервера фронтенду (тільки розробка)
VITE_API_BASE_URL= # Перевизначення базового URL API для Vite

Моніторинг та відстеження помилок

Section titled “Моніторинг та відстеження помилок”

Перегляньте документацію sentry для додаткової інформації про налаштування Sentry.

Термінал
SENTRY_DSN=
SENTRY_DSN_BACKEND=
SENTRY_DSN_FRONTEND=
SENTRY_LOG_ERRORS=true
SENTRY_MAX_BREADCRUMBS=50
SENTRY_SAMPLE_RATE=1.0
SENTRY_VUE_TRACK_COMPONENTS=true