Переменные окружения сервера
Настроить сервер Waline можно с помощью следующих переменных окружения.
Примечание
После изменения переменных окружения необходимо развернуть проект заново, чтобы изменения вступили в силу.
В Vercel их задают в разделе Settings - Environment Variables.
Основные
| Переменная окружения | Обязательно | Описание |
|---|---|---|
SITE_NAME | Название сайта | |
SITE_URL | URL-адрес сайта | |
LOGIN | При LOGIN=force пользователь должен войти, прежде чем оставить комментарий | |
SERVER_URL | URL-адрес сервера Waline; полезен, если автоматически сгенерированный адрес неверен |
Отображение
| Переменная окружения | По умолчанию | Описание |
|---|---|---|
DISABLE_USERAGENT | Скрывать ли user agent пользователя, оставившего комментарий. Значение по умолчанию — false | |
DISABLE_REGION | Скрывать ли регион пользователя, оставившего комментарий. Значение по умолчанию — false | |
DISABLE_AUTHOR_NOTIFY | Отключать ли уведомление автору комментария | |
AVATAR_PROXY | '' | URL-адрес сервиса проксирования аватаров. Оставьте пустым, чтобы отключить |
GRAVATAR_STR | https://seccdn.libravatar.org/avatar/{{mail|md5}} | Строка отрисовки Gravatar на основе шаблона nunjucks |
LEVELS | Выдавать каждому пользователю метку уровня в зависимости от количества комментариев |
Метки уровней
В зависимости от количества комментариев пользователю добавляется метка уровня, определяемая условиями рейтинга. По умолчанию эта возможность отключена; включить её можно, задав переменную окружения LEVELS. Конфигурация представляет собой перечисление заданных чисел через запятую, например 0,10,20,50,100,200 означает:
| Уровень | Условия | Метки уровней по умолчанию |
|---|---|---|
| 0 | 0 <= count < 10 | Гномы |
| 1 | 10 <= count < 20 | Хоббиты |
| 2 | 20 <= count < 50 | Энты |
| 3 | 50 <= count < 100 | Маги |
| 4 | 100 <= count < 200 | Эльфы |
| 5 | 200 <= count | Майар |
Помимо настройки правил определения уровней, можно настроить и сами метки уровней. Для этого задайте текст в клиенте следующим образом:
Waline.init({
locale: {
level0: 'Dwarves',
level1: 'Hobbits',
level2: 'Ents',
level3: 'Wizards',
level4: 'Elves',
level5: 'Maiar',
},
});По умолчанию предоставляется текст только для 6 уровней, но это не значит, что уровней может быть только 6. Конкретное максимальное число уровней определяется заданными правилами определения уровней. Чтобы добавить новый уровень, рекомендуется самостоятельно задать соответствующий ему текст метки. Если текст метки не задан, по умолчанию отображается текст вида Level 10.
Безопасность
| Переменная окружения | По умолчанию | Описание |
|---|---|---|
IPQPS | 60 | Ограничение частоты отправки комментариев с одного IP в секундах. Значение 0 отключает ограничение |
SECURE_DOMAINS | Конфигурация доверенных доменов. Поддерживает несколько доменов, разделённых запятыми | |
AKISMET_KEY | 70542d86693e | Ключ антиспам-сервиса Akismet; установите false, чтобы отключить его. |
COMMENT_AUDIT | false | Переключатель проверки комментариев. Если включён, каждый комментарий должен быть одобрен администратором, поэтому рекомендуется добавить подсказку в placeholder |
RECAPTCHA_V3_KEY | Ключ reCAPTCHA V3; задаётся вместе с клиентом | |
RECAPTCHA_V3_SECRET | Секрет reCAPTCHA V3 для сервера. | |
TURNSTILE_KEY | Ключ Turnstile; задаётся вместе с клиентом | |
TURNSTILE_SECRET | Секрет Turnstile для сервера |
reCAPTCHA и Turnstile
Ключ и секрет Turnstile можно получить по адресу https://www.cloudflare.com/products/turnstile/.
Ключ и секрет reCAPTCHA можно получить по адресу https://www.google.com/recaptcha.
При настройке доверенных доменов нужно одновременно добавить адрес сайта и адрес сервера Waline.
Markdown
| Переменная окружения | По умолчанию | Описание |
|---|---|---|
MARKDOWN_CONFIG | {} | Конфигурация MarkdownIt |
MARKDOWN_HIGHLIGHT | true | Включать ли подсветку кода |
MARKDOWN_EMOJI | true | Включать ли эмодзи |
MARKDOWN_SUB | true | Включать ли нижний индекс |
MARKDOWN_SUP | true | Включать ли верхний индекс |
MARKDOWN_TEX | mathjax | Сервис разбора формул; поддерживаются mathjax, katex и false |
MARKDOWN_MATHJAX | {} | Параметры MathJax |
MARKDOWN_KATEX | {} | Параметры KaTeX |
Почтовый сервис
Почтовый сервис используется для отправки уведомлений о регистрации пользователей и комментариях. После настройки переменных, связанных с почтовым сервисом, при регистрации пользователя добавляется подтверждение кодом из письма, что защищает от вредоносной регистрации.
| Переменная окружения | Примечание |
|---|---|
SMTP_SERVICE | Провайдер почтового сервиса SMTP |
SMTP_HOST | Адрес SMTP-сервера |
SMTP_PORT | Порт SMTP-сервера |
SMTP_USER | Имя пользователя SMTP |
SMTP_PASS | Пароль SMTP. |
SMTP_SECURE | Подключение к SMTP по SSL |
SENDER_NAME | Настройка имени отправителя |
SENDER_EMAIL | Настройка адреса электронной почты отправителя |
Совет
Список поддерживаемых провайдеров приведён в разделе nodemailer services. Достаточно выбрать что-то одно: SMTP_SERVICE или (SMTP_HOST, SMTP_PORT). Если подходящего SMTP_SERVICE в списке нет, нужно задать SMTP_HOST и SMTP_PORT — их обычно можно найти в настройках почтового ящика.
В качестве имени пользователя SMTP обычно указывается полный адрес почтового ящика, а пароль чаще всего совпадает с паролем ящика.
Обратите внимание: некоторые почтовые ящики используют отдельный пароль для SMTP.
База данных
MongoDB
| Переменная окружения | Обязательно | По умолчанию | Описание |
|---|---|---|---|
MONGO_DB | ✅ | Имя базы данных MongoDB | |
MONGO_USER | ✅ | Имя пользователя сервера MongoDB | |
MONGO_PASSWORD | ✅ | Пароль сервера MongoDB | |
MONGO_HOST | 127.0.0.1 | Адрес сервера MongoDB, поддерживает формат массива | |
MONGO_PORT | 27017 | Порт сервера MongoDB, поддерживает формат массива | |
MONGO_REPLICASET | Набор реплик MongoDB | ||
MONGO_AUTHSOURCE | Источник аутентификации MongoDB | ||
MONGO_OPT_SSL | false | Использовать SSL-соединение |
MySQL
| Переменная окружения | Обязательно | По умолчанию | Описание |
|---|---|---|---|
MYSQL_DB | ✅ | Имя базы данных MySQL | |
MYSQL_USER | ✅ | Имя пользователя сервера MySQL | |
MYSQL_PASSWORD | ✅ | Пароль сервера MySQL | |
MYSQL_HOST | 127.0.0.1 | Адрес сервера MySQL | |
MYSQL_PORT | 3306 | Порт сервера MySQL | |
MYSQL_PREFIX | wl_ | Префикс таблиц MySQL | |
MYSQL_CHARSET | utf8mb4 | Кодировка таблиц MySQL | |
MYSQL_SSL | false | Использовать ли SSL-соединение |
TiDB
| Переменная окружения | Обязательно | По умолчанию | Описание |
|---|---|---|---|
TIDB_DB | ✅ | Имя базы данных TiDB | |
TIDB_USER | ✅ | Имя пользователя сервера TiDB | |
TIDB_PASSWORD | ✅ | Пароль сервера TiDB | |
TIDB_HOST | 127.0.0.1 | Адрес сервера TiDB | |
TIDB_PORT | 4000 | Порт сервера TiDB | |
TIDB_PREFIX | wl_ | Префикс таблиц TiDB | |
TIDB_CHARSET | utf8mb4 | Кодировка таблиц TiDB |
SQLite
| Переменная окружения | Обязательно | По умолчанию | Описание |
|---|---|---|---|
SQLITE_PATH | ✅ | Путь к файлу хранилища SQLite, без имени файла | |
JWT_TOKEN | ✅ | Случайная строка для генератора токенов входа | |
SQLITE_DB | waline | Имя файла хранилища SQLite; измените его, если ваш файл называется не waline | |
SQLITE_PREFIX | wl_ | Префикс таблиц SQLite |
PostgreSQL
| Переменная окружения | Обязательно | По умолчанию | Описание |
|---|---|---|---|
PG_DB | ✅ | Имя базы данных PostgreSQL | |
PG_USER | ✅ | Имя пользователя сервера PostgreSQL | |
PG_PASSWORD | ✅ | Пароль сервера PostgreSQL | |
PG_HOST | 127.0.0.1 | Адрес сервера PostgreSQL | |
PG_PORT | 5432 | Порт сервера PostgreSQL | |
PG_PREFIX | wl_ | Префикс таблиц PostgreSQL | |
PG_SSL | false | Установите true, чтобы использовать SSL-соединение | |
POSTGRES_DATABASE | Псевдоним PG_DB | ||
POSTGRES_USER | Псевдоним PG_USER | ||
POSTGRES_PASSWORD | Псевдоним PG_PASSWORD | ||
POSTGRES_HOST | 127.0.0.1 | Псевдоним PG_HOST | |
POSTGRES_PORT | 5432 | Псевдоним PG_PORT | |
POSTGRES_PREFIX | wl_ | Псевдоним PG_PREFIX | |
POSTGRES_SSL | false | Псевдоним PG_SSL |
GitHub
| Переменная окружения | Обязательно | По умолчанию | Описание |
|---|---|---|---|
GITHUB_TOKEN | ✅ | Токены личного доступа | |
GITHUB_REPO | ✅ | Имя репозитория, например walinejs/waline | |
| GITHUB_PATH | Каталог хранения данных: например, data означает хранение в каталоге data; по умолчанию корневой каталог |
Дополнительно
| Переменная окружения | По умолчанию | Описание |
|---|---|---|
OAUTH_URL | https://oauth.lithub.cc | URL-адрес сервиса входа через соцсети OAuth. Можно развернуть собственный сервис аутентификации. |
WEBHOOK | Можно задать URL вебхука, который будет вызываться при появлении нового комментария. | |
WALINE_ADMIN_MODULE_ASSET_URL | //unpkg.com/@waline/admin | Ссылка на панель администратора Waline |
IP2REGION_DB | Путь к пользовательской библиотеке запросов IPv4 (устарело, используйте IP2REGION_DB_V4) | |
IP2REGION_DB_V4 | Путь к пользовательской библиотеке запросов IPv4. Если не задан, используется IP2REGION_DB | |
IP2REGION_DB_V6 | Путь к пользовательской библиотеке запросов IPv6. Задайте его, чтобы включить определение местоположения по IPv6 |
