Установка с помощью Docker’а¶
С помощью докеризированного развёртывания Weblate вы можете запустить свой собственный экземпляр Weblate за считанные секунды. Все зависимости Weblate уже включены. PostgreSQL настроен как база данных по умолчанию, а Valkey — как бэкенд кэширования.
Требования к оборудованию¶
Weblate должен без проблем работать на любом современном оборудовании, ниже приведена минимальная конфигурация, необходимая для запуска Weblate на одном сервере (сам Weblate, база данных и веб-сервер):
3 ГБ ОЗУ
2-х ядерный процессор
1 ГБ дискового пространства
Примечание
Фактические требования к вашей установке Weblate сильно зависят от размера управляемых ею переводов.
Использование памяти¶
Чем больше памяти, тем лучше — она используется для кэширования на всех уровнях (на уровне файловой системы, уровне базы данных и уровне Weblate). Для сотен компонентов перевода рекомендуется не менее 4 ГБ оперативной памяти.
Подсказка
Для систем с меньшим, чем рекомендуется, объёмом памяти рекомендуется использовать Однопроцессная установка для производства Celery.
Использование ЦП¶
Множество одновременно работающих пользователей увеличивают количество необходимых ядер процессора.
В Weblate 2026.8 NumPy стал обязательной зависимостью. В системах x86-64 оптимизированная сборка NumPy, включённая в образ Docker, требует ЦП, совместимого с x86-64-v2. Без необходимых функций ЦП NumPy не загружается, и Weblate не может запуститься.
Перед обновлением проверьте наличие требуемой функции ЦП SSE4.2 в системе Linux, на которой работает Docker:
grep sse4_2 /proc/cpuinfo
Пустой вывод означает, что требуемая функция ЦП недоступна. Это предварительная проверка; наличие SSE4.2 не подтверждает все функции ЦП x86-64-v2.
Если Docker работает в виртуальной машине, выполните проверку внутри гостя. Виртуальные машины могут скрывать функции ЦП, поддерживаемые хостом. Настройте виртуальную машину на предоставление нужных функций ЦП хоста, затем перезагрузите гостя. Если физический ЦП не имеет требуемых функций, обновите оборудование.
Использование хранилища¶
Типовое использование дискового пространства базой данной находится в районе 300MB на 1 миллион хранимых слов.
Пространство необходимое для клонирования репозиториев разнится, хотя Weblate и пытается поддерживать их размер минимальным, делая поверхностные (shallow) копии.
Производительность хранилища¶
Операции системы контроля версий выполняют множество обращений к метаданным файловой системы. Подкаталог vcs в DATA_DIR поэтому требует низкой задержки чтения; хранилище с медленным доступом к метаданным может привести к тому, что такие операции, как git status, будут выполняться долго, даже если его пропускная способность хорошая. По возможности размещайте CACHE_DIR на локальном или временном хранилище с низкой задержкой.
Проверки развёртывания измеряют задержку поиска метаданных для обоих расположений и предупреждают, когда медианная задержка превышает 10 миллисекунд. Это приблизительное измерение в конкретный момент времени, на которое влияют файловая система и нагрузка на систему. Повторно выполните weblate check --deploy перед изменением конфигурации хранилища.
Узлы¶
Для небольших и средних сайтов (миллионы размещённых слов) все компоненты Weblate (см. Обзор архитектуры) могут работать на одном узле.
Когда вы вырастете до сотен миллионов размещённых слов, рекомендуется выделить отдельный узел для базы данных (см. Настройка базы данных для Weblate).
Установка¶
Подсказка
В следующих примерах предполагается, что у вас есть работающая среда Docker с установленным плагином docker-compose-plugin. Инструкции см. в документации Docker.
При этом создаётся сервер развёртывания Weblate через HTTP, поэтому вам следует разместить его за завершающим прокси-сервером HTTPS. Вы также можете выполнить развёртывание с помощью HTTPS-прокси, см. Автоматический выпуск SSL-сертификатов с помощью сервиса Let’s Encrypt. Для более крупных настроек см. Масштабирование по горизонтали.
Склонируйте репозиторий weblate-docker:
git clone https://github.com/WeblateOrg/docker-compose.git weblate-docker cd weblate-docker
Примечание
Файлы Docker Compose являются примерами конфигураций развёртывания. Администраторы обычно настраивают их под свои нужды и поддерживают эти локальные изменения. Обновления приложения Weblate доставляются через теги образов Docker; для настроенных файлов Compose нет привязанного к выпускам пути обновления.
Создайте файл
docker-compose.override.ymlсо своими настройками. Полный список переменных окружения приведен в разделе Переменные окружения Docker.services: weblate: image: weblate/weblate:latest environment: WEBLATE_EMAIL_HOST: smtp.example.com WEBLATE_EMAIL_HOST_USER: user WEBLATE_EMAIL_HOST_PASSWORD: pass WEBLATE_SERVER_EMAIL: weblate@example.com WEBLATE_DEFAULT_FROM_EMAIL: weblate@example.com WEBLATE_SITE_DOMAIN: weblate.example.com WEBLATE_ADMIN_PASSWORD: password for the admin user WEBLATE_ADMIN_EMAIL: weblate.admin@example.com ports: - 80:8080
Примечание
Если переменная
WEBLATE_ADMIN_PASSWORDне установлена, то пользователь-администратор создаётся со случайным паролем, отображаемым при первом запуске.Приведённый пример настраивает Weblate на прослушку порта 80, чтобы его изменить, отредактируйте отображение портов в файле
docker-compose.override.yml.Запустите контейнеры Weblate:
docker compose up
Наслаждайтесь своим развернутым Weblate’ом, он доступен на порту 80 контейнера weblate.
См. также
Выбор реестра образов Docker¶
Контейнеры Weblate публикуются в следующих реестрах:
Docker Hub, см. https://hub.docker.com/r/weblate/weblate
Реестр пакетов GitHub см. https://github.com/WeblateOrg/docker/pkgs/container/weblate
Примечание
Все примеры в настоящее время получают изображения из Docker Hub. Измените конфигурацию соответствующим образом, чтобы использовать другой реестр.
Выбор метки изображения Docker¶
Пожалуйста, выберите метку, которая соответствует вашей среде и ожиданиям:
Имя метки |
Описание |
Пример использования |
|---|---|---|
|
Стабильный выпуск Weblate, соответствует последнему выпуску с метками |
Выполнение обновлений в рабочей среде |
|
Стабильный выпуск Weblate |
Последовательные обновления в пределах календарного года в производственной среде |
|
Стабильный выпуск Weblate |
Последовательные обновления в пределах месячного выпуска в производственной среде |
|
Стабильный выпуск Weblate |
Хорошо поставленное развёртывание в рабочей среде |
|
Стабильный выпуск Weblate с изменениями в разработке в Docker-контейнере (например, обновленные зависимости) |
Запуск обновлений в среде постановки |
|
Стабильный выпуск Weblate с изменениями в разработке в Docker-контейнере (например, обновленные зависимости) |
Чётко определённое развертывание в среде постановки |
|
Версия разработчика Weblate из Git |
Поэтапные обновления для тестирования предстоящих функций Weblate |
|
Версия разработчика Weblate из Git |
Хорошо определённое развёртывание для тестирования предстоящих функций Weblate |
Каждое изображение тестируется нашей непрерывной интеграцией перед публикацией, поэтому даже bleeding (кровоточащая) версия должна быть вполне безопасной для использования.
Полный список опубликованных меток можно найти на странице GitHub Packages
Контейнер Docker с поддержкой HTTPS¶
Общие инструкции по развертыванию, пожалуйста, смотрите в разделе Установка, в этом разделе упоминаются только отличия от той инструкции.
Прокси с завершением SSL¶
SSL может быть завершён вне контейнера Weblate. Чтобы это хорошо работало, в контейнер необходимо передать несколько заголовков, чтобы он знал о своём фактическом окружении. Более подробно эти заголовки описаны в Работа за обратным прокси.
location / {
proxy_pass http://127.0.0.1:8080;
proxy_read_timeout 3600s;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
WEBLATE_ENABLE_HTTPS=1
WEBLATE_IP_PROXY_HEADER=HTTP_X_FORWARDED_FOR
WEBLATE_TRUSTED_PROXY_ADDRESSES=192.0.2.10
Замените пример доверенного адреса прокси на адрес или сеть обратного прокси в том виде, в котором их видит контейнер Weblate. Убедитесь, что недоверенные клиенты не могут достичь опубликованного порта контейнера, минуя обратный прокси.
Если обратный прокси работает на хосте Docker, вы можете дать шлюзу хоста постоянное имя в docker-compose.override.yml и доверять этому имени:
services:
weblate:
extra_hosts:
- "host.docker.internal:host-gateway"
environment:
WEBLATE_TRUSTED_PROXY_ADDRESSES: host.docker.internal
Использование собственных SSL-сертификатов¶
Если вы хотите использовать свой собственный SSL-сертификат, просто поместите его файлы в том данных Weblate (смотрите раздел Тома контейнеров Docker’а):
ssl/fullchain.pem, содержащий сертификат и все необходимые сертификаты центров сертификацииssl/privkey.pem, содержащий закрытый ключ
Обеими этими файлами должен владеть тот же самый пользователь, который запускает контейнер docker ’а, а маска этих файлов должна быть равна 600 (читать и писать в них может только владелец).
Кроме того, контейнер Weblate теперь будет принимать SSL-соединения на порт 4443 и вам нужно будет включить перенаправление портов для HTTPS в переопределении Docker Compose:
version: '3'
services:
weblate:
ports:
- 80:8080
- 443:4443
Если на этом же сервере у вас уже размещены другие сайты, скорее всего, порты 80 и 443 используются обратным прокси, например, NGINX. Для передачи HTTPS соединения из NGINX’а в контейнер docker ’а вы можете использовать следующую конфигурацию:
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name <SITE_URL>;
ssl_certificate /etc/letsencrypt/live/<SITE>/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/<SITE>/privkey.pem;
location / {
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_pass https://127.0.0.1:<EXPOSED_DOCKER_PORT>;
}
}
Замените заполнители <SITE_URL>, <SITE> и EXPOSED_DOCKER_PORT на фактические значения из вашего окружения.
Автоматический выпуск SSL-сертификатов с помощью сервиса Let’s Encrypt¶
Если вы хотите использовать Let’s Encrypt для автоматической генерации SSL-сертификатов для общедоступной установки, вам нужно будет добавить дополнительный контейнер Docker с обратным HTTPS прокси — https-portal. Он используется в файле docker-compose-https.yml. Затем создайте файл docker-compose-https.override.yml со своими настройками:
version: '3'
services:
weblate:
environment:
WEBLATE_EMAIL_HOST: smtp.example.com
WEBLATE_EMAIL_HOST_USER: user
WEBLATE_EMAIL_HOST_PASSWORD: pass
WEBLATE_SITE_DOMAIN: weblate.example.com
WEBLATE_ADMIN_PASSWORD: password for admin user
https-portal:
environment:
DOMAINS: 'weblate.example.com -> http://weblate:8080'
При каждом вызове docker compose вам необходимо передать ему оба файла, а затем выполнить:
docker compose -f docker-compose-https.yml -f docker-compose-https.override.yml build
docker compose -f docker-compose-https.yml -f docker-compose-https.override.yml up
Обновление контейнера Docker’а¶
Обычно рекомендуется обновлять только контейнер Weblate, а контейнер PostgreSQL сохранять той версии, которая у вас есть, поскольку обновление PostgreSQL довольно болезненно и в большинстве случаев не приносит особых преимуществ.
Вы можете сделать это, оставаясь с существующим docker-compose и просто извлекая последние образы с последующим перезапуском контейнера:
# Fetch latest versions of the images
docker compose pull
# Stop and destroy the containers
docker compose down
# Spawn new containers in the background
docker compose up -d
# Follow the logs during upgrade
docker compose logs -f
При первом запуске база данных Weblate должна быть перенесена автоматически, надобности в дополнительных ручных действиях не возникнет.
Примечание
Прямые обновления поддерживаются только для выпусков текущего или предыдущего календарного года. Если вам необходимо обновиться с более старой версии, сначала обновитесь до промежуточной версии, указанной в Инструкции для конкретных версий.
Если вы используете примеры файлов Compose без локальных изменений, вы также можете просматривать обновления в репозитории docker-compose, хотя для большинства обновлений Weblate это не требуется. Настроенные файлы Compose необходимо поддерживать как часть вашего развёртывания. См. Обновление контейнера PostgreSQL для обновления сервера PostgreSQL.
Обновление контейнера PostgreSQL¶
Примечание
PostgreSQL 18 изменил каталог данных по умолчанию внутри контейнера. В старой распространённой конфигурации том базы данных монтировался в /var/lib/postgresql/data, тогда как PostgreSQL 18 теперь по умолчанию использует /var/lib/postgresql.
Если вы обновляетесь с более старой версии, либо обновите цель монтирования в вашей конфигурации Docker до нового пути, либо оставьте старую цель монтирования и соответствующим образом установите PGDATA.
Оставление старой цели монтирования без изменений без установки PGDATA может привести к тому, что PostgreSQL будет записывать свои данные вне постоянного тома.
См. документацию PGDATA для получения дополнительной информации.
Контейнеры PostgreSQL не поддерживают автоматическое обновление версии, вам необходимо выполнить обновление вручную. В последующих шагах показан один из вариантов обновления.
Остановка контейнера Weblate:
docker compose stop weblate cache
Резервное копирование базы данных:
docker compose exec database pg_dumpall --clean --if-exists --username weblate > backup.sql
Остановка контейнера базы данных:
docker compose stop database
Удаление тома PostgreSQL:
docker compose rm -v database docker volume remove weblate-docker_postgres-data
Подсказка
Имя тома содержит имя проекта Docker Compose, которое по умолчанию является именем каталога, как
weblate-dockerв данной документации.Подправьте файл
docker-compose.yml, чтобы использовать новую версию PostgreSQL.Запустить контейнер базы данных:
docker compose up -d database
Восстановите данные из резервной копии:
cat backup.sql | docker compose exec -T database psql --username weblate --dbname weblate
Подсказка
Убедитесь, что имя базы данных соответствует
POSTGRES_DB.(Необязательно) Обновите пароль для пользователя Weblate. Это может понадобиться при переходе на PostgreSQL 14 или 15, поскольку был изменён способ хранения паролей:
docker compose exec -T database psql --username weblate --dbname weblate -c "ALTER USER weblate WITH PASSWORD 'weblate'"
Подсказка
Убедитесь, что имя базы данных соответствует
POSTGRES_DB.Запустить все оставшиеся контейнеры:
docker compose up -d
Вход от имени администратора¶
После настройки контейнера вы можете войти в систему под пользователем admin с паролем, указанным в переменной окружения WEBLATE_ADMIN_PASSWORD, или случайным паролем, сгенерированным при первом запуске, если он не был установлен явно.
Для сброса пароля пользователя admin перезапустите контейнер с переменной WEBLATE_ADMIN_PASSWORD, установленной в новое значение пароля.
Количество процессов и потребление памяти¶
Количество рабочих процессов для веб-приложения и Celery определяется автоматически на основе количества ЦП. Это хорошо подходит для большинства облачных виртуальных машин, так как они обычно имеют мало процессоров и хороший объём памяти.
По умолчанию один объединённый рабочий процесс Celery обрабатывает все очереди задач, используя prefork-пул с числом процессов, в три раза большим WEBLATE_WORKERS. Совместное использование начальной памяти приложения всеми рабочими процессами Celery снижает потребление памяти, а большее число процессов увеличивает пропускную способность задач.
Если на вашей машине много процессорных ядер и возникают проблемы, вызванные нехваткой памяти, то попробуйте уменьшить количество рабочих процессов:
environment:
WEBLATE_WORKERS: 2
Вы можете точно настроить объединённый рабочий процесс:
environment:
CELERY_COMBINED_OPTIONS: --concurrency 12 --prefetch-multiplier 1
Либо используйте режим разделения, чтобы запускать и точно настраивать отдельные категории рабочих процессов:
environment:
CELERY_WORKER_MODE: split
WEB_WORKERS: 4
WEB_BLOCKING_THREADS: 4
CELERY_MAIN_OPTIONS: --concurrency 2 --prefetch-multiplier 1
CELERY_NOTIFY_OPTIONS: --concurrency 1 --prefetch-multiplier 4
CELERY_MEMORY_OPTIONS: --concurrency 1 --prefetch-multiplier 1
CELERY_TRANSLATE_OPTIONS: --concurrency 1 --prefetch-multiplier 1
CELERY_BACKUP_OPTIONS: --concurrency 1 --prefetch-multiplier 1
Множитель предварительной выборки определяет, сколько задач может зарезервировать каждый слот выполнения рабочего процесса. Значение по умолчанию, равное единице, позволяет избежать резервирования дополнительных длительных или ресурсоёмких задач. В этом примере для рабочего процесса уведомлений используется значение четыре, поскольку его короткие задачи могут извлечь выгоду из буферизации. Увеличивайте значение только после измерения задержки очереди и использования памяти рабочими процессами.
Потребление памяти можно дополнительно сократить, запустив Celery в одном процессе:
environment:
CELERY_WORKER_MODE: single
Масштабирование по горизонтали¶
Добавлено в версии 4.6.
Вы можете запустить несколько Weblate-контейнеров для горизонтального масштабирования сервиса. Том /app/data должен быть общим для всех контейнеров, для этого рекомендуется использовать кластерную файловую систему, например GlusterFS. Том /app/cache должен быть отдельным для каждого контейнера.
Каждый контейнер Weblate имеет определённую роль с помощью переменной окружения WEBLATE_SERVICE. Пожалуйста, внимательно следуйте документации, так как некоторые службы должны запускаться только один раз в кластере, и порядок служб также имеет значение.
Пример установки вы можете найти в репозитории docker-compose в виде docker-compose-split.yml.
Предупреждения о конфигурации при запуске¶
Docker-контейнер записывает полезные предупреждения о конфигурации при запуске в общий том /app/data. Они отображаются командой weblate check --deploy и в интерфейсе управления Отчёт о производительности, а также записываются в журнал контейнера.
Каждый контейнер сообщает о своих предупреждениях отдельно. Это позволяет сохранять видимость предупреждений от контейнеров с разными ролями WEBLATE_SERVICE в горизонтально масштабируемом развёртывании. Отчёты обновляются, пока их контейнер работает, и удаляются при упорядоченном завершении контейнера. Отчёты, оставшиеся после аварийного завершения, истекают через пять минут, а устаревшие файлы отчётов автоматически очищаются при последующих запусках контейнеров.
Переменные окружения Docker¶
Многие из Конфигурация Weblate можно задать в контейнере Docker, используя переменные окружения, описанные ниже.
Если вам нужно определить параметр, не отображаемый через переменные среды Docker, см. Конфигурация за пределами переменных среды.
Прохождение кодов¶
Добавлено в версии 5.0.
Контейнер Weblate поддерживает передачу данных в виде ключей. Чтобы использовать это, добавьте суффикс _FILE к переменной среды и передайте файл ключей через Docker.
Связанный docker-compose.yml может выглядеть так:
services:
weblate:
environment:
POSTGRES_PASSWORD_FILE: /run/secrets/db_password
secrets:
- db_password
database:
environment:
POSTGRES_PASSWORD_FILE: /run/secrets/db_password
secrets:
- db_password
secrets:
db_password:
file: db_password.txt
См. также
Общие параметры¶
- WEBLATE_DEBUG¶
Настраивает отладочный режим Django, используя ее переменную
DEBUG.Пример:
environment: WEBLATE_DEBUG: 1
См. также
- WEBLATE_LOGLEVEL¶
Настраивает детализацию журналирования. Установите значение
DEBUG, чтобы получить более подробные журналы.По умолчанию используется
INFO, когдаWEBLATE_DEBUGотключён,DEBUGиспользуется, когда включён режим отладки.Для более тихой регистрации используйте
ERRORилиWARNING.
- WEBLATE_LOGLEVEL_DATABASE¶
Настраивает подробность ведения журнала запросов к базе данных.
- WEBLATE_LOG_GELF_HOST¶
Добавлено в версии 5.9.
Настраивает удалённое ведение журнала с использованием соединения GELF TCP. Может использоваться для интеграции с Graylog.
- WEBLATE_LOG_GELF_PORT¶
Добавлено в версии 5.9.
Используйте пользовательский порт для
WEBLATE_LOG_GELF_HOST, по умолчанию 12201.
- WEBLATE_SITE_TITLE¶
Изменяет название сайта, показываемое в заголовке всех страниц.
- WEBLATE_SITE_DOMAIN¶
Настраивает домен сайта. Этот параметр является обязательным и принимает имя хоста или IPv4-адрес.
Укажите порт от 1 до 65535, если используется нестандартный. IPv6-адреса в настоящее время не поддерживаются.
Пример:
environment: WEBLATE_SITE_DOMAIN: example.com:8080
- WEBLATE_ADMIN_NAME¶
- WEBLATE_ADMIN_EMAIL¶
Настраивает имя и электронную почту администратора сайта. Используется как для параметра
ADMINS, так и для создания пользователя admin (подробнее смотрите в описании переменной окруженияWEBLATE_ADMIN_PASSWORD).Пример:
environment: WEBLATE_ADMIN_NAME: Weblate admin WEBLATE_ADMIN_EMAIL: noreply@example.com
- WEBLATE_ADMIN_PASSWORD¶
Устанавливает пароль для пользователя admin.
Если не установлен и пользователя admin не существует, он создается со случайным паролем, который показывается при первом запуске контейнера.
Если не установлен и пользователя admin не существует, никакие действия не выполняются.
Если установлен, при каждом запуске контейнера пользователю admin устанавливаются соответствующие
WEBLATE_ADMIN_PASSWORD,WEBLATE_ADMIN_NAMEиWEBLATE_ADMIN_EMAIL.
Предупреждение
Хранение пароля в файле настроек может представлять из себя угрозу безопасности. Используйте эту переменную только для начальной установки (или пусть Weblate сгенерирует при начальной загрузке случайный пароль) или для восстановления пароля.
- WEBLATE_ADMIN_NOTIFY_ERROR¶
Отправлять ли электронную почту администраторам при ошибке сервера. Включено по умолчанию.
Возможно, вы захотите использовать другой сбор ошибок, например Sentry или Rollbar, и отключить эту функцию.
См. также
- WEBLATE_SERVER_EMAIL¶
Адрес электронной почты, с которого отправляются сообщения об ошибках.
- WEBLATE_DEFAULT_FROM_EMAIL¶
Настраивает адрес для исходящих сообщений электронной почты.
- WEBLATE_ADMINS_CONTACT¶
Настраивает параметр
ADMINS_CONTACT.
- WEBLATE_CONTACT_FORM¶
Настраивает поведение контактной формы, смотреть параметр
CONTACT_FORM.
- WEBLATE_ALLOWED_HOSTS¶
Настраивает разрешённые имена HTTP-хостов с помощью параметра
ALLOWED_HOSTS.По умолчанию установлен в
*, что позволяет использовать все имена хостов.Пример:
environment: WEBLATE_ALLOWED_HOSTS: weblate.example.com,example.com
- WEBLATE_REGISTRATION_OPEN¶
Настраивает статус открытия регистрации, переключая параметр
REGISTRATION_OPEN.Пример:
environment: WEBLATE_REGISTRATION_OPEN: 0
- WEBLATE_REGISTRATION_CAPTCHA¶
Добавлено в версии 5.10.
Настраивает, используется ли капча для регистрации и других неаутентифицированных действий, см.
REGISTRATION_CAPTCHA.Пример:
environment: WEBLATE_REGISTRATION_CAPTCHA: 0
- WEBLATE_REGISTRATION_ALLOW_BACKENDS¶
Настраивает через параметр
REGISTRATION_ALLOW_BACKENDSметоды авторизации, которые можно использовать для создания новой учётной записи.Пример:
environment: WEBLATE_REGISTRATION_OPEN: 0 WEBLATE_REGISTRATION_ALLOW_BACKENDS: azuread-oauth2,azuread-tenant-oauth2
- WEBLATE_REGISTRATION_REBIND¶
Добавлено в версии 4.16.
Настраивает
REGISTRATION_REBIND.
- WEBLATE_REGISTRATION_ALLOW_DISPOSABLE_EMAILS¶
Добавлено в версии 5.16.1.
Настраивает
REGISTRATION_ALLOW_DISPOSABLE_EMAILS.Пример:
environment: WEBLATE_REGISTRATION_ALLOW_DISPOSABLE_EMAILS: 1
- WEBLATE_PROJECT_WEB_RESTRICT_PRIVATE¶
Добавлено в версии 5.17.
Настраивает
PROJECT_WEB_RESTRICT_PRIVATE.По умолчанию включено.
- WEBLATE_PROJECT_WEB_RESTRICT_ALLOWLIST¶
Добавлено в версии 5.17.
Настраивает
PROJECT_WEB_RESTRICT_ALLOWLIST.Ожидает список доверенных плашек проектов, разделённых запятыми.
- WEBLATE_WEBHOOK_RESTRICT_PRIVATE¶
Добавлено в версии 5.17.
Настраивает
WEBHOOK_RESTRICT_PRIVATE.По умолчанию включено.
- WEBLATE_WEBHOOK_PRIVATE_ALLOWLIST¶
Добавлено в версии 5.17.
Настраивает
WEBHOOK_PRIVATE_ALLOWLIST.Ожидает список доверенных имён хостов или доменов, разделённых запятыми.
- WEBLATE_ALLOWED_ASSET_SIZE¶
Добавлено в версии 2025.7.
Настраивает
ALLOWED_ASSET_SIZE.
- WEBLATE_ASSET_RESTRICT_PRIVATE¶
Добавлено в версии 2025.5.
Настраивает
ASSET_RESTRICT_PRIVATE.По умолчанию включено.
- WEBLATE_ASSET_PRIVATE_ALLOWLIST¶
Добавлено в версии 2025.5.
Настраивает
ASSET_PRIVATE_ALLOWLIST.Ожидает список доверенных имён хостов или доменов, разделённых запятыми.
- WEBLATE_TIME_ZONE¶
Настраивает используемый в Weblate часовой пояс, смотрите описание параметра
TIME_ZONE.Примечание
Для изменения часового пояса самого контейнера Docker используйте переменную окружения
TZ.Пример:
environment: WEBLATE_TIME_ZONE: Europe/Prague
- WEBLATE_ENABLE_HTTPS¶
Заставляет Weblate думать, что он работает за обратным HTTPS-прокси, что принуждает Weblate использовать HTTPS в ссылках писем электронной почты и API или устанавливать у кук флаги безопасности.
Подсказка
Смотрите возможные топкие места в документацию к параметру
ENABLE_HTTPS.Примечание
Этот параметр не включает разрешение на прием контейнером Weblate’а соединений по HTTPS, его нужно настроить отдельно, для примеров смотрите раздел Контейнер Docker с поддержкой HTTPS.
Пример:
environment: WEBLATE_ENABLE_HTTPS: 1
- WEBLATE_NGINX_IPV6¶
Добавлено в версии 5.17.
Управляет тем, слушает ли встроенный NGINX IPv6-адреса.
Поддерживаемые значения:
auto— включать IPv6-прослушиватели, только если IPv6 доступен в среде выполнения контейнера. Это значение по умолчанию.on— всегда включать IPv6-прослушиватели.off— отключить IPv6-прослушиватели.
Пример:
environment: WEBLATE_NGINX_IPV6: auto
- WEBLATE_IP_PROXY_HEADER¶
Позволяет Weblate’у получать IP-адрес из любого заданного HTTP-заголовка. Используйте его при использовании обратного прокси перед контейнером Weblate.
Включает параметр
IP_BEHIND_REVERSE_PROXYи устанавливает параметрIP_PROXY_HEADER.При установке в
HTTP_X_FORWARDED_FORвстроенный nginx разрешает адрес клиента с помощьюWEBLATE_TRUSTED_PROXY_ADDRESSES, использует этот адрес в своих журналах и пересылает один нормализованный адрес в Weblate.Изменено в версии 2026.9: Встроенный nginx больше не доверяет
X-Forwarded-Forиз всех сетевых адресов. Доверенные адреса прокси должны быть настроены явно.Примечание
Формат должен соответствовать ожиданиям Django. Django трансформирует необработанные имена HTTP-заголовков следующим образом:
переводит все символы в верхний регистр
все дефисы заменяет на подчеркивания
добавляет префикс
HTTP_
Таким образом,
X-Forwarded-Forбудет отображаться какHTTP_X_FORWARDED_FOR.Пример:
environment: WEBLATE_IP_PROXY_HEADER: HTTP_X_FORWARDED_FOR WEBLATE_TRUSTED_PROXY_ADDRESSES: "192.0.2.10 2001:db8::/64 proxy"
- WEBLATE_TRUSTED_PROXY_ADDRESSES¶
Добавлено в версии 2026.9.
Настраивает IPv4 или IPv6 адреса, сети или имена хостов обратных прокси, которым встроенный nginx доверяет для предоставления
X-Forwarded-For. Разделяйте несколько значений пробелами.Этот параметр используется только когда
WEBLATE_IP_PROXY_HEADERравенHTTP_X_FORWARDED_FOR. Если список пуст, nginx использует непосредственного TCP-узла в своих журналах и пересылает этот адрес в Weblate.Перечисляйте только прокси под вашим контролем и не открывайте контейнер Weblate через путь, который их обходит.
Пример:
environment: WEBLATE_IP_PROXY_HEADER: HTTP_X_FORWARDED_FOR WEBLATE_TRUSTED_PROXY_ADDRESSES: "192.0.2.10 2001:db8::/64 proxy"
- WEBLATE_IP_PROXY_OFFSET¶
Добавлено в версии 5.0.1.
Настраивает
IP_PROXY_OFFSET.Когда
WEBLATE_IP_PROXY_HEADERравенHTTP_X_FORWARDED_FOR, встроенный nginx пересылает один нормализованный адрес, а контейнер использует эффективное смещение0.
- WEBLATE_USE_X_FORWARDED_PORT¶
Добавлено в версии 5.0.1.
Логическое значение, указывающее, следует ли использовать заголовок X-Forwarded-Port вместо переменной SERVER_PORT META. Следует включать только в том случае, если используется прокси-сервер, который устанавливает этот заголовок.
См. также
Примечание
Это логическая настройка (используйте
"true"или"false").
- WEBLATE_SECURE_PROXY_SSL_HEADER¶
Кортеж, представляющий собой комбинацию HTTP-заголовка и значения, указывающую, что запрос является безопасным. Это необходимо, когда Weblate работает за обратным прокси, выполняющим SSL-терминацию, который не передаёт стандартные заголовки HTTPS.
Пример:
environment: WEBLATE_SECURE_PROXY_SSL_HEADER: HTTP_X_FORWARDED_PROTO,https
- WEBLATE_REQUIRE_LOGIN¶
Включает параметр
REQUIRE_LOGIN, в результате чего авторизация будет требоваться для всего Weblate.Пример:
environment: WEBLATE_REQUIRE_LOGIN: 1
- WEBLATE_LEGAL_INTEGRATION¶
Включает модуль Юридический модуль в развёртываниях Docker. По умолчанию интеграция отключена; оставьте эту переменную неустановленной или пустой, чтобы отключить её.
Поддерживаемые значения:
tos-confirm— включить юридический модуль и требовать подтверждения юридических документов при аутентификации через соцсети и для вошедших в систему пользователей.wllegal— включить ту же интеграцию и дополнительно загрузить размещённые шаблоны юридических документов изwllegal. Эти шаблоны используются сервисами, управляемыми Weblate s.r.o., и не предназначены для общего использования.
Чтобы предоставить свои собственные юридические документы в Docker, переопределите шаблоны в
/app/data/python/customize/templates/legal/documents, см. Замена логотипа и других статических файлов.Пересоздайте контейнер Docker после изменения этой переменной окружения, например, с помощью docker compose up -d. Перезапуск существующего контейнера не применяет изменённые значения окружения.
Пример:
environment: WEBLATE_LEGAL_INTEGRATION: tos-confirm
- WEBLATE_LEGAL_DOCUMENT_CSS_CLASS¶
Настраивает
LEGAL_DOCUMENT_CSS_CLASSв развёртываниях Docker с включённымWEBLATE_LEGAL_INTEGRATION.Установите это значение в класс, на который нацелена ваша пользовательская таблица стилей юридических документов. Установите пустую строку, чтобы отображать юридические документы без класса-обёртки.
Пример:
environment: WEBLATE_LEGAL_DOCUMENT_CSS_CLASS: ""
- WEBLATE_LEGAL_HIDDEN_DOCUMENTS¶
Настраивает
LEGAL_HIDDEN_DOCUMENTSв развёртываниях Docker с включённымWEBLATE_LEGAL_INTEGRATION.Укажите разделённый запятыми список идентификаторов страниц юридических документов.
Внешние URL-адреса юридических документов имеют приоритет над ссылками на внутренние страницы. Следующая конфигурация скрывает внутренние страницы, связывает оба документа внешне и требует одного согласия, охватывающего оба:
Пример:
environment: WEBLATE_LEGAL_INTEGRATION: tos-confirm WEBLATE_LEGAL_HIDDEN_DOCUMENTS: terms,privacy WEBLATE_LEGAL_URL: https://example.com/terms/ WEBLATE_PRIVACY_URL: https://example.com/privacy/
- WEBLATE_PUBLIC_ENGAGE¶
Включает
PUBLIC_ENGAGE.
- WEBLATE_GOOGLE_ANALYTICS_ID¶
Настраивает идентификатор для Google Analytics, изменяя параметр
GOOGLE_ANALYTICS_ID.
- WEBLATE_DEFAULT_PULL_MESSAGE¶
Настройте заголовок и сообщение по умолчанию для запросов на извлечение через API, изменяя
DEFAULT_PULL_MESSAGE.См. также
- WEBLATE_SIMPLIFY_LANGUAGES¶
Настраивает политику упрощения языка, смотрите описание параметра
SIMPLIFY_LANGUAGES.
- WEBLATE_HIDE_SHARED_GLOSSARY_COMPONENTS¶
Скрывает компоненты словаря при общем доступе к другим проектам, см.
HIDE_SHARED_GLOSSARY_COMPONENTS.
- WEBLATE_DEFAULT_ACCESS_CONTROL¶
Настраивает Контроль доступа по умолчанию для новых проектов, см.
DEFAULT_ACCESS_CONTROL.
- WEBLATE_DEFAULT_TRANSLATION_REVIEW¶
Добавлено в версии 5.16.
Настраивает значение по умолчанию для Включить рецензии, по умолчанию отключено.
- WEBLATE_DEFAULT_SOURCE_REVIEW¶
Добавлено в версии 5.16.
Настраивает значение по умолчанию для Включить рецензии исходных строк, по умолчанию отключено.
- WEBLATE_DEFAULT_RESTRICTED_COMPONENT¶
Настраивает значение по умолчанию для Ограниченный доступ для новых компонентов, см.
DEFAULT_RESTRICTED_COMPONENT.
- WEBLATE_DEFAULT_TRANSLATION_PROPAGATION¶
Настраивает значение по умолчанию для Разрешить распространение перевода для новых компонентов, см.
DEFAULT_TRANSLATION_PROPAGATION.
- WEBLATE_DEFAULT_COMMITER_EMAIL¶
Настраивает параметр
DEFAULT_COMMITER_EMAIL.
- WEBLATE_DEFAULT_COMMITER_NAME¶
Настраивает параметр
DEFAULT_COMMITER_NAME.
- WEBLATE_DEFAULT_SHARED_TM¶
Настраивает параметр
DEFAULT_SHARED_TM.
- WEBLATE_DEFAULT_AUTOCLEAN_TM¶
Настраивает параметр
DEFAULT_AUTOCLEAN_TM.
- WEBLATE_COMMIT_PENDING_HOURS¶
Настраивает значение по умолчанию для Возраст изменений для коммита для новых компонентов, см.
COMMIT_PENDING_HOURS.
- WEBLATE_GPG_IDENTITY¶
Настраивает GPG для подписи коммитов, смотрите описание параметра
WEBLATE_GPG_IDENTITY.См. также
- WEBLATE_URL_PREFIX¶
Настраивает префикс URL-адреса, по которому работает Weblate, см.
URL_PREFIX. Оставьте пустым, чтобы обслуживать Weblate в корне, или используйте разделённые косой чертой сегменты пути, начинающиеся с косой черты, например/translationsили/tools/translations. Каждый сегмент может содержать ASCII-буквы, цифры,_и-.
- WEBLATE_SILENCED_SYSTEM_CHECKS¶
Настраивает проверки, которые вы не хотите видеть, смотрите описание параметра
SILENCED_SYSTEM_CHECKS.
- WEBLATE_CSP_SCRIPT_SRC¶
- WEBLATE_CSP_IMG_SRC¶
- WEBLATE_CSP_CONNECT_SRC¶
- WEBLATE_CSP_STYLE_SRC¶
- WEBLATE_CSP_FONT_SRC¶
- WEBLATE_CSP_FORM_SRC¶
Позволяет настраивать HTTP-заголовок политики безопасности содержимого Content-Security-Policy.
- WEBLATE_LICENSE_FILTER¶
Настраивает параметр
LICENSE_FILTER.
- WEBLATE_LICENSE_REQUIRED¶
Настройка
LICENSE_REQUIRED.
- WEBLATE_WEBSITE_REQUIRED¶
Настройка
WEBSITE_REQUIRED.
- WEBLATE_VERSION_DISPLAY¶
Настраивает
VERSION_DISPLAY.
- WEBLATE_HIDE_VERSION¶
Настраивает параметр
HIDE_VERSION.
- WEBLATE_BASIC_LANGUAGES¶
Настраивает параметр
BASIC_LANGUAGES.
- WEBLATE_DEFAULT_AUTO_WATCH¶
Настраивает параметр
DEFAULT_AUTO_WATCH.
- WEBLATE_DEFAULT_NOTIFICATIONS¶
Добавлено в версии 2026.10.1.
Настраивает
DEFAULT_NOTIFICATIONS.Пример:
environment: WEBLATE_DEFAULT_NOTIFICATIONS: 0:1:MentionCommentNotificaton,10:1:LastAuthorCommentNotificaton
- WEBLATE_RATELIMIT_ATTEMPTS¶
- WEBLATE_RATELIMIT_LOCKOUT¶
- WEBLATE_RATELIMIT_WINDOW¶
Добавлено в версии 4.6.
Настраивает ограничитель скорости.
Подсказка
Вы можете задать конфигурацию для любого диапазона ограничителя скорости. Для этого добавьте префикс
WEBLATE_к любой из настроек, описанных в разделе Ограничение частоты запросов.
- WEBLATE_API_RATELIMIT_ANON¶
- WEBLATE_API_RATELIMIT_USER¶
Добавлено в версии 4.11.
Настраивает
API_RATELIMIT_ANONиAPI_RATELIMIT_USER. По умолчанию100/dayдля анонимных и5000/hourдля аутентифицированных пользователей.См. также
- WEBLATE_API_RATELIMIT_USER_OVERRIDES¶
- WEBLATE_API_RATELIMIT_IP_OVERRIDES¶
Добавлено в версии 2026.10.
Сопоставления JSON, настраивающие
API_RATELIMIT_USER_OVERRIDESиAPI_RATELIMIT_IP_OVERRIDES. Оба по умолчанию — пустые объекты. Используйте JSONnull, чтобы освободить пользователя, IP-адрес или сеть от ограничения частоты запросов к API.Например, в
compose.override.yaml:services: weblate: environment: WEBLATE_API_RATELIMIT_USER_OVERRIDES: '{"automation":"20000/hour"}' WEBLATE_API_RATELIMIT_IP_OVERRIDES: '{"192.0.2.42":null,"198.51.100.0/24":"10000/hour"}'
Правила для имён пользователей имеют приоритет над правилами для IP. См. Ограничение частоты запросов API для поведения подсчёта и требований к настройке прокси.
- WEBLATE_ENABLE_HOOKS¶
Добавлено в версии 4.13.
Настраивает параметр
ENABLE_HOOKS.
- WEBLATE_ENABLE_AVATARS¶
Добавлено в версии 4.6.1.
Настраивает параметр
ENABLE_AVATARS.
- WEBLATE_AVATAR_URL_PREFIX¶
Добавлено в версии 4.15.
Настраивает параметр
AVATAR_URL_PREFIX.
- WEBLATE_AVATAR_URL_TEMPLATE¶
Добавлено в версии 2026.10.
Настраивает
AVATAR_URL_TEMPLATE.
- WEBLATE_LIMIT_TRANSLATION_LENGTH_BY_SOURCE_LENGTH¶
Добавлено в версии 4.9.
Настраивает параметр
LIMIT_TRANSLATION_LENGTH_BY_SOURCE_LENGTH.
- WEBLATE_SSH_EXTRA_ARGS¶
Добавлено в версии 4.9.
Настраивает параметр
SSH_EXTRA_ARGS.
- WEBLATE_BORG_EXTRA_ARGS¶
Добавлено в версии 4.9.
Настраивает
BORG_EXTRA_ARGSкак список аргументов, разделённых запятыми.Пример:
environment: WEBLATE_BORG_EXTRA_ARGS: --exclude,vcs/
- WEBLATE_ENABLE_SHARING¶
Добавлено в версии 4.14.1.
Настраивает параметр
ENABLE_SHARING.
- WEBLATE_SUPPORT_STATUS_CHECK¶
Добавлено в версии 5.5.
Настраивает параметр
SUPPORT_STATUS_CHECK.
- WEBLATE_EXTRA_HTML_HEAD¶
Добавлено в версии 4.15.
Настраивает
EXTRA_HTML_HEAD.
- WEBLATE_INTERNAL_BOT_EMAIL_TEMPLATE¶
Добавлено в версии 2026.7.1.
Настраивает
INTERNAL_BOT_EMAIL_TEMPLATE.
- WEBLATE_PRIVATE_COMMIT_EMAIL_TEMPLATE¶
Добавлено в версии 4.15.
Настраивает
PRIVATE_COMMIT_EMAIL_TEMPLATE.
- WEBLATE_PRIVATE_COMMIT_EMAIL_OPT_IN¶
Добавлено в версии 4.15.
Настраивает
PRIVATE_COMMIT_EMAIL_OPT_IN.
- WEBLATE_PRIVATE_COMMIT_NAME_TEMPLATE¶
Добавлено в версии 5.16.
Настраивает
PRIVATE_COMMIT_NAME_TEMPLATE.
- WEBLATE_PRIVATE_COMMIT_NAME_OPT_IN¶
Добавлено в версии 5.16.
Настраивает
PRIVATE_COMMIT_NAME_OPT_IN.Чтобы использовать приватные адреса электронной почты и имена для коммитов по умолчанию, установите обе переменные согласия в
Falseвdocker-compose.override.yml:services: weblate: environment: WEBLATE_PRIVATE_COMMIT_EMAIL_OPT_IN: "False" WEBLATE_PRIVATE_COMMIT_NAME_OPT_IN: "False" WEBLATE_PRIVATE_COMMIT_EMAIL_TEMPLATE: "user-{user_id}@users.noreply.{site_domain}" WEBLATE_PRIVATE_COMMIT_NAME_TEMPLATE: "{site_title} user {user_id}"
Переменные шаблона — это дополнительные настройки. Этот шаблон электронной почты использует идентификатор пользователя вместо имени пользователя, включённого в шаблон по умолчанию. Установка только шаблонов оставляет приватные идентичности для коммитов в режиме согласия.
Эти значения по умолчанию применяются к новым и существующим пользователям без явного выбора идентичности для коммитов. Пользователи всё ещё могут выбрать идентичность своей учётной записи. Существующие коммиты не изменяются.
После изменения окружения выполните
docker compose up -d, чтобы пересоздать затронутые контейнеры. Примените ту же конфигурацию к отдельно развёрнутым рабочим процессам, чтобы и веб-процессы, и рабочие процессы использовали новые значения по умолчанию.
- WEBLATE_UNUSED_ALERT_DAYS¶
Добавлено в версии 4.17.
Настраивает
UNUSED_ALERT_DAYS.
- WEBLATE_REPORT_EXPIRY¶
Добавлено в версии 2026.8.
Настраивает
REPORT_EXPIRY.
- WEBLATE_UPDATE_LANGUAGES¶
Добавлено в версии 4.3.2.
Настраивает параметр
UPDATE_LANGUAGES.
- WEBLATE_VCS_ALLOW_HOSTS¶
Добавлено в версии 5.15.
Настраивает
VCS_ALLOW_HOSTS.
- WEBLATE_VCS_PRIVATE_ALLOWLIST¶
Добавлено в версии 2026.9.
Настраивает
VCS_PRIVATE_ALLOWLIST.
- WEBLATE_VCS_ALLOW_SCHEMES¶
Добавлено в версии 5.15.
Настраивает
VCS_ALLOW_SCHEMES.Схема
fileотключена по соображениям безопасности. Её включение не позволяет Weblate запуститься.
- WEBLATE_VCS_RESTRICT_PRIVATE¶
Добавлено в версии 5.17.
Настраивает
VCS_RESTRICT_PRIVATE.
- WEBLATE_VCS_CLONE_DEPTH¶
Добавлено в версии 5.4.
Настраивает
VCS_CLONE_DEPTH.
- WEBLATE_VCS_API_DELAY¶
Добавлено в версии 5.4.
Настраивает
VCS_API_DELAY.
- WEBLATE_VCS_API_TIMEOUT¶
Добавлено в версии 5.15.
Настраивает
VCS_API_TIMEOUT.
- WEBLATE_CORS_ALLOWED_ORIGINS¶
Добавлено в версии 4.16.
Разрешить CORS-запросы к API из указанных источников.
Пример:
environment: WEBLATE_CORS_ALLOWED_ORIGINS: https://example.com,https://weblate.org
- WEBLATE_CORS_ALLOW_ALL_ORIGINS¶
Добавлено в версии 5.6.1: Разрешает CORS-запросы к API из всех источников.
- WEBLATE_WEBSITE_ALERTS_ENABLED¶
Добавлено в версии 5.17.
Настраивает
WEBSITE_ALERTS_ENABLED.
- CLIENT_MAX_BODY_SIZE¶
Добавлено в версии 4.16.3.
Настраивает максимальный размер тела, принимаемый встроенным веб-сервером. Используйте неотрицательное целое число с необязательным суффиксом
k,mилиg. Суффикс не чувствителен к регистру, а0отключает ограничение размера тела запроса.environment: CLIENT_MAX_BODY_SIZE: 200m
Подсказка
В этой переменной намеренно отсутствует префикс
WEBLATE_, поскольку он используется совместно со сторонним контейнером, используемым в Автоматический выпуск SSL-сертификатов с помощью сервиса Let’s Encrypt.
- WEBLATE_TRANSLATION_UPLOAD_MAX_SIZE¶
Настраивает
TRANSLATION_UPLOAD_MAX_SIZE.Значение указывается в байтах.
- WEBLATE_COMPONENT_ZIP_UPLOAD_MAX_SIZE¶
Настраивает
COMPONENT_ZIP_UPLOAD_MAX_SIZE.Значение указывается в байтах.
- WEBLATE_PROJECT_BACKUP_UPLOAD_MAX_SIZE¶
Настраивает
PROJECT_BACKUP_UPLOAD_MAX_SIZE.Значение указывается в байтах. Убедитесь, что
CLIENT_MAX_BODY_SIZEтакже достаточно велик для загружаемых файлов резервных копий.
- WEBLATE_PROJECT_BACKUP_IMPORT_MAX_MEMBERS¶
Добавлено в версии 2026.5.
Настраивает
PROJECT_BACKUP_IMPORT_MAX_MEMBERS.
- WEBLATE_PROJECT_BACKUP_IMPORT_MAX_TOTAL_UNCOMPRESSED_SIZE¶
Добавлено в версии 2026.5.
Настраивает
PROJECT_BACKUP_IMPORT_MAX_TOTAL_UNCOMPRESSED_SIZE.Значение указывается в байтах.
- WEBLATE_PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_SIZE¶
Добавлено в версии 2026.5.
Настраивает
PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_SIZE.Значение указывается в байтах.
- WEBLATE_PROJECT_BACKUP_IMPORT_MIN_RATIO_SIZE¶
Добавлено в версии 2026.5.
Настраивает
PROJECT_BACKUP_IMPORT_MIN_RATIO_SIZE.Значение указывается в байтах.
- WEBLATE_PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_RATIO¶
Добавлено в версии 2026.5.
Настраивает
PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_RATIO.
Учётные данные сайтов хостинга кода¶
В контейнере Docker учётные данные хостинга кода могут быть настроены как в отдельных переменных, так и с помощью словаря Python для их одновременного задания. Приведённые ниже примеры относятся к Запрос на извлечение в GitHub, но применимы ко всем Интеграция с системой контроля версий с соответствующим изменением имён переменных.
Важно
Все имена переменных окружения должны включать префикс WEBLATE_. Например, для настройки учётных данных GitHub используйте WEBLATE_GITHUB_USERNAME, а не GITHUB_USERNAME. Это относится как к настройке для запросов на извлечение, так и к любой другой интеграции системы контроля версий.
Пример конфигурации для запросов на извлечение GitHub может выглядеть так:
WEBLATE_GITHUB_USERNAME=api-user
WEBLATE_GITHUB_TOKEN=api-token
WEBLATE_GITHUB_HOST=api.github.com
Будут использоваться в качестве:
GITHUB_CREDENTIALS = {
"api.github.com": {
"username": "api-user",
"token": "api-token",
}
}
В качестве альтернативы словарь Python может быть предоставлен в виде строки:
WEBLATE_GITHUB_CREDENTIALS='{ "api.github.com": { "username": "api-user", "token": "api-token", } }'
Или путь к файлу, содержащему словарь Python:
echo '{ "api.github.com": { "username": "api-user", "token": "api-token", } }' > /path/to/github-credentials
WEBLATE_GITHUB_CREDENTIALS_FILE='/path/to/github-credentials'
- WEBLATE_GITHUB_USERNAME¶
- WEBLATE_GITHUB_TOKEN¶
- WEBLATE_GITHUB_HOST¶
- WEBLATE_GITHUB_CREDENTIALS¶
Настраивает Запрос на извлечение в GitHub, изменяя
GITHUB_CREDENTIALS.
- WEBLATE_GITHUB_LEGACY_APP_WEBHOOK_SECRET¶
Добавлено в версии 2026.8.
Настраивает
GITHUB_LEGACY_APP_WEBHOOK_SECRET. Вариант с_FILEможно использовать для загрузки секрета из файла.
Приложения GitHub, зарегистрированные через поток манифеста в приложении, хранятся в базе данных и не требуют переменных окружения. См. Уведомления GitHub.
- WEBLATE_GITLAB_USERNAME¶
- WEBLATE_GITLAB_TOKEN¶
- WEBLATE_GITLAB_HOST¶
- WEBLATE_GITLAB_CREDENTIALS¶
Настраивает Запросы на слияние в GitLab, изменяя
GITLAB_CREDENTIALS.
- WEBLATE_GITEA_USERNAME¶
- WEBLATE_GITEA_TOKEN¶
- WEBLATE_GITEA_HOST¶
- WEBLATE_GITEA_CREDENTIALS¶
Настраивает Запрос на извлечение в Gitea, изменяя
GITEA_CREDENTIALS.
- WEBLATE_PAGURE_USERNAME¶
- WEBLATE_PAGURE_TOKEN¶
- WEBLATE_PAGURE_HOST¶
- WEBLATE_PAGURE_CREDENTIALS¶
Настраивает Запросы на слияние в Pagure, изменяя
PAGURE_CREDENTIALS.
- WEBLATE_BITBUCKETSERVER_USERNAME¶
- WEBLATE_BITBUCKETSERVER_TOKEN¶
- WEBLATE_BITBUCKETSERVER_HOST¶
- WEBLATE_BITBUCKETSERVER_CREDENTIALS¶
Настраивает Запросы на извлечение в Bitbucket Data Center, изменяя
BITBUCKETSERVER_CREDENTIALS.
- WEBLATE_BITBUCKETCLOUD_USERNAME¶
- WEBLATE_BITBUCKETCLOUD_WORKSPACE¶
- WEBLATE_BITBUCKETCLOUD_TOKEN¶
- WEBLATE_BITBUCKETCLOUD_HOST¶
- WEBLATE_BITBUCKETCLOUD_CREDENTIALS¶
Настраивает Запросы на извлечение в Bitbucket Cloud, изменяя
BITBUCKETCLOUD_CREDENTIALS.
- WEBLATE_AZURE_DEVOPS_USERNAME¶
- WEBLATE_AZURE_DEVOPS_ORGANIZATION¶
- WEBLATE_AZURE_DEVOPS_TOKEN¶
- WEBLATE_AZURE_DEVOPS_HOST¶
- WEBLATE_AZURE_DEVOPS_CREDENTIALS¶
Настраивает Запросы на извлечение Azure DevOps, изменяя
AZURE_DEVOPS_CREDENTIALS.
Настройки служб перевода¶
Изменено в версии 4.13: Службы перевода теперь настраиваются в пользовательском интерфейсе, см. Службы перевода.
Существующие переменные среды импортируются во время миграции на Weblate 4.13, но их изменение не будет иметь никакого дальнейшего эффекта.
Параметры авторизации¶
Подсказка
Аутентификация на основе электронной почты включена, если только не отключена с помощью WEBLATE_NO_EMAIL_AUTH.
LDAP¶
- WEBLATE_AUTH_LDAP_SERVER_URI¶
- WEBLATE_AUTH_LDAP_USER_DN_TEMPLATE¶
- WEBLATE_AUTH_LDAP_USER_ATTR_MAP¶
- WEBLATE_AUTH_LDAP_BIND_DN¶
- WEBLATE_AUTH_LDAP_BIND_PASSWORD¶
- WEBLATE_AUTH_LDAP_CONNECTION_OPTION_REFERRALS¶
- WEBLATE_AUTH_LDAP_USER_SEARCH¶
- WEBLATE_AUTH_LDAP_USER_SEARCH_FILTER¶
- WEBLATE_AUTH_LDAP_USER_SEARCH_UNION¶
- WEBLATE_AUTH_LDAP_USER_SEARCH_UNION_DELIMITER¶
Настройка авторизации через LDAP.
Пример прямой привязки:
environment: WEBLATE_AUTH_LDAP_SERVER_URI: ldap://ldap.example.org WEBLATE_AUTH_LDAP_USER_DN_TEMPLATE: uid=%(user)s,ou=People,dc=example,dc=net # map weblate 'full_name' to ldap 'name' and weblate 'email' attribute to 'mail' ldap attribute. # another example that can be used with OpenLDAP: 'full_name:cn,email:mail' WEBLATE_AUTH_LDAP_USER_ATTR_MAP: full_name:name,email:mail
Пример поиска и привязки:
environment: WEBLATE_AUTH_LDAP_SERVER_URI: ldap://ldap.example.org WEBLATE_AUTH_LDAP_BIND_DN: CN=ldap,CN=Users,DC=example,DC=com WEBLATE_AUTH_LDAP_BIND_PASSWORD: password WEBLATE_AUTH_LDAP_USER_ATTR_MAP: full_name:name,email:mail WEBLATE_AUTH_LDAP_USER_SEARCH: CN=Users,DC=example,DC=com
Пример объединения поиска и привязки:
environment: WEBLATE_AUTH_LDAP_SERVER_URI: ldap://ldap.example.org WEBLATE_AUTH_LDAP_BIND_DN: CN=ldap,CN=Users,DC=example,DC=com WEBLATE_AUTH_LDAP_BIND_PASSWORD: password WEBLATE_AUTH_LDAP_USER_ATTR_MAP: full_name:name,email:mail WEBLATE_AUTH_LDAP_USER_SEARCH_UNION: ou=users,dc=example,dc=com|ou=otherusers,dc=example,dc=com
Пример поиска и привязки в Active Directory:
environment: WEBLATE_AUTH_LDAP_BIND_DN: CN=ldap,CN=Users,DC=example,DC=com WEBLATE_AUTH_LDAP_BIND_PASSWORD: password WEBLATE_AUTH_LDAP_SERVER_URI: ldap://ldap.example.org WEBLATE_AUTH_LDAP_CONNECTION_OPTION_REFERRALS: 0 WEBLATE_AUTH_LDAP_USER_ATTR_MAP: full_name:name,email:mail WEBLATE_AUTH_LDAP_USER_SEARCH: CN=Users,DC=example,DC=com WEBLATE_AUTH_LDAP_USER_SEARCH_FILTER: (sAMAccountName=%(user)s)
См. также
GitHub¶
- WEBLATE_SOCIAL_AUTH_GITHUB_KEY¶
- WEBLATE_SOCIAL_AUTH_GITHUB_SECRET¶
- WEBLATE_SOCIAL_AUTH_GITHUB_ORG_KEY¶
- WEBLATE_SOCIAL_AUTH_GITHUB_ORG_SECRET¶
- WEBLATE_SOCIAL_AUTH_GITHUB_ORG_NAME¶
- WEBLATE_SOCIAL_AUTH_GITHUB_TEAM_KEY¶
- WEBLATE_SOCIAL_AUTH_GITHUB_TEAM_SECRET¶
- WEBLATE_SOCIAL_AUTH_GITHUB_TEAM_ID¶
Включает Авторизация GitHub.
GitHub Enterprise Edition¶
- WEBLATE_SOCIAL_AUTH_GITHUB_ENTERPRISE_KEY¶
- WEBLATE_SOCIAL_AUTH_GITHUB_ENTERPRISE_SECRET¶
- WEBLATE_SOCIAL_AUTH_GITHUB_ENTERPRISE_URL¶
- WEBLATE_SOCIAL_AUTH_GITHUB_ENTERPRISE_API_URL¶
- WEBLATE_SOCIAL_AUTH_GITHUB_ENTERPRISE_SCOPE¶
Включает Авторизация GitHub EE.
Bitbucket¶
- WEBLATE_SOCIAL_AUTH_BITBUCKET_OAUTH2_KEY¶
- WEBLATE_SOCIAL_AUTH_BITBUCKET_OAUTH2_SECRET¶
Включает Авторизация Bitbucket.
Facebook¶
- WEBLATE_SOCIAL_AUTH_FACEBOOK_KEY¶
- WEBLATE_SOCIAL_AUTH_FACEBOOK_SECRET¶
Включает Facebook OAuth 2.
Google¶
- WEBLATE_SOCIAL_AUTH_GOOGLE_OAUTH2_KEY¶
- WEBLATE_SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET¶
- WEBLATE_SOCIAL_AUTH_GOOGLE_OAUTH2_WHITELISTED_DOMAINS¶
- WEBLATE_SOCIAL_AUTH_GOOGLE_OAUTH2_WHITELISTED_EMAILS¶
Включает Google OAuth 2.
GitLab¶
- WEBLATE_SOCIAL_AUTH_GITLAB_KEY¶
- WEBLATE_SOCIAL_AUTH_GITLAB_SECRET¶
- WEBLATE_SOCIAL_AUTH_GITLAB_API_URL¶
Включает GitLab OAuth 2.
Gitea¶
- WEBLATE_SOCIAL_AUTH_GITEA_API_URL¶
- WEBLATE_SOCIAL_AUTH_GITEA_KEY¶
- WEBLATE_SOCIAL_AUTH_GITEA_SECRET¶
Включает авторизацию Gitea.
Microsoft Entra ID¶
- WEBLATE_SOCIAL_AUTH_AZUREAD_OAUTH2_KEY¶
- WEBLATE_SOCIAL_AUTH_AZUREAD_OAUTH2_SECRET¶
Включает аутентификацию Microsoft Entra ID, см. Microsoft Entra ID.
Microsoft Entra ID с поддержкой Tenant¶
- WEBLATE_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_KEY¶
- WEBLATE_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_SECRET¶
- WEBLATE_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_TENANT_ID¶
Включает аутентификацию Microsoft Entra ID с поддержкой Tenant, см. Microsoft Entra ID.
Keycloak¶
- WEBLATE_SOCIAL_AUTH_KEYCLOAK_KEY¶
- WEBLATE_SOCIAL_AUTH_KEYCLOAK_SECRET¶
- WEBLATE_SOCIAL_AUTH_KEYCLOAK_PUBLIC_KEY¶
- WEBLATE_SOCIAL_AUTH_KEYCLOAK_ALGORITHM¶
- WEBLATE_SOCIAL_AUTH_KEYCLOAK_AUTHORIZATION_URL¶
- WEBLATE_SOCIAL_AUTH_KEYCLOAK_ACCESS_TOKEN_URL¶
- WEBLATE_SOCIAL_AUTH_KEYCLOAK_TITLE¶
- WEBLATE_SOCIAL_AUTH_KEYCLOAK_IMAGE¶
Включает авторизацию через Keycloak, смотрите раздел Keycloak - Open Source Red Hat SSO.
- WEBLATE_SOCIAL_AUTH_KEYCLOAK_ID_KEY¶
Добавлено в версии 5.17.
Настраивает, какой запрос (claim) используется как уникальный идентификатор пользователя от Keycloak. По умолчанию
email.Подсказка
Когда Keycloak настроен на абстрагирование стороннего IDP, вам нужно будет настроить
WEBLATE_CSP_FORM_SRCдля домена стороннего IDP.Пример, когда Keycloak передаёт аутентификацию Microsoft.¶environment: WEBLATE_CSP_FORM_SRC: login.microsoftonline.com
Поставщики Linux¶
Вы можете включить авторизацию с помощью сервисов авторизации поставщиков Linux, установив следующие переменные в любое значение.
- WEBLATE_SOCIAL_AUTH_FEDORA¶
- WEBLATE_SOCIAL_AUTH_OPENSUSE¶
- WEBLATE_SOCIAL_AUTH_OPENINFRA¶
- WEBLATE_SOCIAL_AUTH_UBUNTU¶
Slack¶
- WEBLATE_SOCIAL_AUTH_SLACK_KEY¶
OpenID Connect¶
Добавлено в версии 4.13-1.
- WEBLATE_SOCIAL_AUTH_OIDC_OIDC_ENDPOINT¶
- WEBLATE_SOCIAL_AUTH_OIDC_KEY¶
- WEBLATE_SOCIAL_AUTH_OIDC_SECRET¶
- WEBLATE_SOCIAL_AUTH_OIDC_USERNAME_KEY¶
- WEBLATE_SOCIAL_AUTH_OIDC_TITLE¶
- WEBLATE_SOCIAL_AUTH_OIDC_IMAGE¶
Настраивает общую интеграцию OpenID Connect.
См. также
Fedora OpenID Connect¶
Добавлено в версии 5.15.
- WEBLATE_SOCIAL_AUTH_FEDORA_OIDC_KEY¶
SAML¶
Самоподписанные ключи SAML генерируются автоматически при первом запуске контейнера. Если вы хотите использовать собственные ключи, поместите сертификат и закрытый ключ в файлы /app/data/ssl/saml.crt и /app/data/ssl/saml.key.
- WEBLATE_SAML_IDP_ENTITY_ID¶
- WEBLATE_SAML_IDP_URL¶
- WEBLATE_SAML_IDP_X509CERT¶
- WEBLATE_SAML_IDP_IMAGE¶
- WEBLATE_SAML_IDP_TITLE¶
Настройки провайдера идентификационных данных SAML, смотрите раздел Авторизация через SAML.
- WEBLATE_SAML_SECURITY_CONFIG¶
Добавлено в версии 2026.6.
Конфигурация безопасности SAML в виде JSON-объекта, передаваемая в
SOCIAL_AUTH_SAML_SECURITY_CONFIG. Например, чтобы отключитьrequestedAuthnContext(требуется для некоторых поставщиков удостоверений, таких как Microsoft Entra ID с многофакторной аутентификацией):environment: WEBLATE_SAML_SECURITY_CONFIG: '{"requestedAuthnContext": false}'
См. также
- WEBLATE_SAML_ID_ATTR_FULL_NAME¶
- WEBLATE_SAML_ID_ATTR_FIRST_NAME¶
- WEBLATE_SAML_ID_ATTR_LAST_NAME¶
- WEBLATE_SAML_ID_ATTR_USERNAME¶
- WEBLATE_SAML_ID_ATTR_EMAIL¶
- WEBLATE_SAML_ID_ATTR_USER_PERMANENT_ID¶
Добавлено в версии 4.18.
Сопоставление атрибутов SAML.
Другие параметры авторизации¶
- WEBLATE_NO_EMAIL_AUTH¶
При установке в любое значение отключает авторизацию через электронную почту. См. Отключение авторизации по паролю.
Настройки базы данных PostgreSQL¶
База данных создается в файле docker-compose.yml, поэтому эти настройки влияют как на контейнер Weblate, так и на контейнер PostgreSQL.
См. также
- POSTGRES_PASSWORD¶
Пароль PostgreSQL.
См. также
- POSTGRES_USER¶
Имя пользователя PostgreSQL.
- POSTGRES_DB¶
Имя базы данных PostgreSQL.
- POSTGRES_HOST¶
Имя хоста или IP-адрес сервера PostgreSQL. По умолчанию равен
database.
- POSTGRES_PORT¶
Порт сервера PostgreSQL. По умолчанию не установлен (используется значение по умолчанию).
- POSTGRES_SSL_MODE¶
Настраивает обработку SSL сервером PostgreSQL при соединении с сервером, возможные варианты настройки смотрите документе Описания режимов SSL.
- POSTGRES_ALTER_ROLE¶
Настраивает имя роли PostgreSQL, которую нужно изменить во время миграции базы данных, см. Настройка Weblate для использования PostgreSQL.
По умолчанию
POSTGRES_USER.
- POSTGRES_CONN_MAX_AGE¶
Добавлено в версии 4.8.1.
Время соединения с базой данных, выраженное целым числом секунд. Используйте 0, чтобы закрывать соединения с базой данных в конце каждого запроса (это поведение по умолчанию).
Изменено в версии 5.1: По умолчанию используется неограниченное количество постоянных соединений с базой данных.
Включение сохранения соединений, как правило, приводит к увеличению числа открытых соединений с базой данных. Пожалуйста, настройте конфигурацию базы данных перед включением.
Пример настроек:
environment: POSTGRES_CONN_MAX_AGE: 3600
См. также
- POSTGRES_DISABLE_SERVER_SIDE_CURSORS¶
Добавлено в версии 4.9.1.
Отключите курсоры на стороне сервера в базе данных. Это необходимо в некоторых настройках pgbouncer.
Пример настроек:
environment: POSTGRES_DISABLE_SERVER_SIDE_CURSORS: 1
- WEBLATE_DATABASES¶
Добавлено в версии 5.1.
Установите значение false, чтобы отключить настройку подключения к базе данных на основе окружения. Используйте Переопределение настроек из тома данных для ручной настройки подключения к базе данных.
Параметры резервного копирования базы данных¶
См. также
- WEBLATE_DATABASE_BACKUP¶
Настраивает ежедневный дамп базы данных с помощью параметра
DATABASE_BACKUP. По умолчанию установлен вplain.
Настройка сервера хранилища данных¶
Использование Valkey или Redis требуется контейнеру Weblate, и вы должны указать параметры подключения при запуске Weblate в Docker.
См. также
- REDIS_HOST¶
Имя хоста или IP-адрес сервера хранилища данных. По умолчанию
cache.
- REDIS_PORT¶
Порт сервера хранилища данных. По умолчанию
6379.
- REDIS_DB¶
Номер базы данных хранилища данных, по умолчанию
1.
- REDIS_USER¶
Добавлено в версии 5.13: Пользователь базы данных хранилища данных, по умолчанию не используется.
- REDIS_PASSWORD¶
Пароль сервера хранилища данных, по умолчанию не используется.
См. также
- REDIS_TLS¶
Включает использование SSL для подключения к хранилищу данных.
- REDIS_VERIFY_SSL¶
Может использоваться для отключения проверки SSL-сертификата для подключения к хранилищу данных.
Настройка почтового сервера¶
Чтобы работала отправка писем электронной почты, необходимо предоставить почтовый сервер.
Пример конфигурации TLS:
environment:
WEBLATE_EMAIL_HOST: smtp.example.com
WEBLATE_EMAIL_HOST_USER: user
WEBLATE_EMAIL_HOST_PASSWORD: pass
Пример конфигурации SSL:
environment:
WEBLATE_EMAIL_HOST: smtp.example.com
WEBLATE_EMAIL_PORT: 465
WEBLATE_EMAIL_HOST_USER: user
WEBLATE_EMAIL_HOST_PASSWORD: pass
WEBLATE_EMAIL_USE_TLS: 0
WEBLATE_EMAIL_USE_SSL: 1
См. также
- WEBLATE_EMAIL_HOST¶
Имя хоста или IP-адрес почтового сервера.
- WEBLATE_EMAIL_PORT¶
Порт почтового сервера, по умолчанию установлен в 25.
См. также
- WEBLATE_EMAIL_HOST_USER¶
Пользователь для авторизации по электронной почте.
См. также
- WEBLATE_EMAIL_HOST_PASSWORD¶
Пароль для авторизации по электронной почте.
См. также
- WEBLATE_EMAIL_USE_SSL¶
Использовать ли неявное TLS (безопасное) соединение при общении с сервером SMTP. В большей части документации по электронной почте этот тип TLS-соединения называется SSL. Он обычно используется на 465-м порту. Если у вас возникли проблемы, попробуйте включить явный TLS параметром
WEBLATE_EMAIL_USE_TLS.Изменено в версии 4.11: Поддержка SSL/TLS включается автоматически на основе
WEBLATE_EMAIL_PORT.
- WEBLATE_EMAIL_USE_TLS¶
Использовать ли TLS (безопасное) соединение при общении с сервером SMTP. Он используется для явных TLS-соединений, обычно на портах 587 или 25. Если ваши соединения зависают, попробуйте включить неявный TLS параметром
WEBLATE_EMAIL_USE_SSL.Изменено в версии 4.11: Поддержка SSL/TLS включается автоматически на основе
WEBLATE_EMAIL_PORT.
- WEBLATE_EMAIL_BACKEND¶
Настраивает бэкенд Django, используемый для отправки сообщений электронной почты.
Установите в
django_ses.SESBackendдля использования AWS SES.
- WEBLATE_AWS_SES_REGION_NAME¶
Регион AWS для SES (например,
us-east-1). УстанавливаетAWS_SES_REGION_NAMEи автоматически определяетWEBLATE_AWS_SES_REGION_ENDPOINT, если эта переменная не задана явно. Если не задано, регион должен быть доступен через стандартную цепочку учётных данных boto3 (например,AWS_DEFAULT_REGIONили профиль AWS).
- WEBLATE_AWS_SES_REGION_ENDPOINT¶
Имя хоста конечной точки SES. При установке передаётся в django-ses напрямую, независимо от
WEBLATE_AWS_SES_REGION_NAME. Если не установлено, но указаноWEBLATE_AWS_SES_REGION_NAME, по умолчанию используетсяemail.<region>.amazonaws.com. Переопределите при использовании VPC или пользовательской конечной точки.
- WEBLATE_USE_SES_V2¶
Установите в
trueдля использования API SES v2 (SendEmail) вместо устаревшего вызоваSendRawEmail. Логический параметр (используйте"true"или"false").
- WEBLATE_AUTO_UPDATE¶
Настраивает, должен ли Weblate обновлять репозитории и каким образом.
Значение по умолчанию
"false"ежедневно получает удалённые изменения без слияния их в рабочую копию; оно не отключает ежедневные обновления. Установите"true", чтобы также сливать удалённые изменения в рабочую копию.См. также
AUTO_UPDATEдля подробностей о том, как обновления планируются в течение дня.Примечание
Это логическое значение параметра (используйте
"true"или"false").
Интеграция с сайтом¶
- WEBLATE_GET_HELP_URL¶
Настраивает параметр
GET_HELP_URL.
- WEBLATE_STATUS_URL¶
Настраивает параметр
STATUS_URL.
- WEBLATE_PRIVACY_URL¶
Настраивает параметр
PRIVACY_URL.
- WEBLATE_PASSWORD_RESET_URL¶
Настраивает
PASSWORD_RESET_URL.
Сбор отчётов об ошибках и мониторинг производительности¶
Рекомендуется систематически собирать ошибки от установки, смотрите раздел Сбор отчётов об ошибках и мониторинг производительности.
Для включения поддержки Rollbar установите следующие переменные:
- ROLLBAR_KEY¶
Ваш токен доступа к серверу Rollbar.
- ROLLBAR_ENVIRONMENT¶
Ваше окружение Rollbar, по умолчанию установлена в
production.
Для включения поддержки Sentry установите следующие переменные:
- SENTRY_DSN¶
Ваш Sentry DSN, см.
SENTRY_DSN.
- SENTRY_ENVIRONMENT¶
Ваша среда Sentry (необязательно) по умолчанию:
WEBLATE_SITE_DOMAIN.
- SENTRY_MONITOR_BEAT_TASKS¶
Следует ли отслеживать задачи Celery Beat с помощью Sentry, по умолчанию
True.
- SENTRY_TRACES_SAMPLE_RATE¶
Настраивает
SENTRY_TRACES_SAMPLE_RATE.Пример:
environment: SENTRY_TRACES_SAMPLE_RATE: 0.5
- SENTRY_PROFILES_SAMPLE_RATE¶
Настраивает
SENTRY_PROFILES_SAMPLE_RATE.Пример:
environment: SENTRY_PROFILES_SAMPLE_RATE: 0.5
- SENTRY_SEND_PII¶
Настраивает
SENTRY_SEND_PII.
Чтобы включить поддержку Отчёта об ошибках Google Cloud, установите следующее:
- GOOGLE_CLOUD_ERROR_REPORTING_ENABLED¶
Включает
GOOGLE_CLOUD_ERROR_REPORTING, по умолчаниюFalse.
- GOOGLE_CLOUD_ERROR_REPORTING_PROJECT¶
Проект Google Cloud, в который отправлять отчёты об ошибках. Если опущено, клиент Google использует учётные данные приложения по умолчанию для определения проекта.
- GOOGLE_CLOUD_ERROR_REPORTING_SERVICE¶
Имя службы, используемое в Отчёте об ошибках Google Cloud, по умолчанию
weblate.
Чтобы включить поддержку трассировки OpenTelemetry, установите следующее:
- OPENTELEMETRY_ENABLED¶
Включает
OPENTELEMETRY_ENABLED, по умолчаниюFalse.
- OPENTELEMETRY_EXPORTER_OTLP_ENDPOINT¶
Настраивает
OPENTELEMETRY_EXPORTER_OTLP_ENDPOINT.Пример:
environment: OPENTELEMETRY_ENABLED: true OPENTELEMETRY_EXPORTER_OTLP_ENDPOINT: https://collector.example.com/v1/traces OPENTELEMETRY_TRACES_SAMPLE_RATE: 0.1
- OPENTELEMETRY_EXPORTER_OTLP_HEADERS¶
Настраивает
OPENTELEMETRY_EXPORTER_OTLP_HEADERSкак разделённое запятыми отображениеимя:значение.
- OPENTELEMETRY_EXTRA_RESOURCE_ATTRIBUTES¶
Настраивает
OPENTELEMETRY_EXTRA_RESOURCE_ATTRIBUTESкак разделённое запятыми отображениеимя:значение.
- OPENTELEMETRY_SERVICE_NAME¶
Настраивает
OPENTELEMETRY_SERVICE_NAME.
- OPENTELEMETRY_TRACES_SAMPLE_RATE¶
Настраивает
OPENTELEMETRY_TRACES_SAMPLE_RATE.
CDN локализации¶
- WEBLATE_LOCALIZE_CDN_URL¶
- WEBLATE_LOCALIZE_CDN_PATH¶
Добавлено в версии 4.2.1.
Конфигурация для надстроек CDN, включая CDN локализации JavaScript и CDN файлов перевода.
Переменная
WEBLATE_LOCALIZE_CDN_PATHуказывает путь внутри контейнера. Он должен указывать на постоянный том, а не на временное хранилище.Одной из возможных настроек является направление пути внутрь каталога данных Weblate:
environment: WEBLATE_LOCALIZE_CDN_URL: https://cdn.example.com/ WEBLATE_LOCALIZE_CDN_PATH: /app/data/l10n-cdn
Примечание
Вы несёте ответственность за настройку обслуживания файлов, генерируемых Weblate; он только сохраняет файлы в настроенном расположении. См. CDN локализации для получения рекомендаций по безопасной раздаче.
Изменение включённых приложений, проверок, форматов, дополнений, служб перевода или автоисправлений¶
Встроенную конфигурацию включённых проверок, форматов файлов, дополнений, служб перевода или автоисправлений можно настроить с помощью следующих переменных:
- WEBLATE_ADD_APPS¶
- WEBLATE_REMOVE_APPS¶
- WEBLATE_ADD_CHECK¶
- WEBLATE_REMOVE_CHECK¶
- WEBLATE_ADD_AUTOFIX¶
- WEBLATE_REMOVE_AUTOFIX¶
- WEBLATE_ADD_FORMATS¶
- WEBLATE_REMOVE_FORMATS¶
- WEBLATE_ADD_ADDONS¶
- WEBLATE_REMOVE_ADDONS¶
- WEBLATE_ADD_MACHINERY¶
Добавлено в версии 5.6.1.
- WEBLATE_REMOVE_MACHINERY¶
Добавлено в версии 5.6.1.
Пример:
environment:
WEBLATE_REMOVE_AUTOFIX: weblate.trans.autofixes.whitespace.SameBookendingWhitespace
WEBLATE_REMOVE_FORMATS: weblate.formats.ttkit.PoFormat
WEBLATE_ADD_ADDONS: customize.addons.MyAddon,customize.addons.OtherAddon
Параметры контейнера¶
- WEBLATE_WORKERS¶
Добавлено в версии 4.6.1.
Базовое количество рабочих процессов, запущенных в контейнере. Если оно не задано, то определяется автоматически при запуске контейнера на основе количества доступных ядер процессора.
Используется для определения
CELERY_MAIN_OPTIONS,CELERY_COMBINED_OPTIONS,CELERY_NOTIFY_OPTIONS,CELERY_MEMORY_OPTIONS,CELERY_TRANSLATE_OPTIONS,CELERY_BACKUP_OPTIONS,WEB_WORKERSиWEB_BLOCKING_THREADS. Вы можете использовать эти настройки для точной регулировки.
- CELERY_WORKER_MODE¶
Добавлено в версии 2026.9.1.
Выбирает, как рабочие процессы Celery запускаются в контейнере. Поддерживаются следующие режимы:
combinedЗапускает один prefork-процесс для всех очередей. Это значение по умолчанию, которое снижает потребление памяти за счёт совместного использования начальной памяти приложения. Его параллелизм по умолчанию в три раза больше
WEBLATE_WORKERS, а множитель предварительной выборки по умолчанию равен единице.splitЗапускает отдельный prefork-процесс для каждой очереди. Это соответствует поведению версий контейнера до 2026.9.1 и позволяет настраивать каждую очередь независимо.
singleЗапускает все очереди в одном процессе, используя пул solo. Это минимизирует потребление памяти, но заметно снижает пропускную способность задач.
Явный выбор
WEBLATE_SERVICEимеет приоритет над этим параметром в горизонтально масштабируемых развёртываниях.
- CELERY_COMBINED_OPTIONS¶
Добавлено в версии 2026.9.1.
Настраивает рабочий процесс, используемый при
CELERY_WORKER_MODE=combined. По умолчанию его параллелизм в три раза большеWEBLATE_WORKERS. Рабочий процесс использует множитель предварительной выборки, равный единице, если здесь не указано иное.environment: CELERY_COMBINED_OPTIONS: --concurrency 12 --prefetch-multiplier 1
- CELERY_MAIN_OPTIONS¶
- CELERY_NOTIFY_OPTIONS¶
- CELERY_MEMORY_OPTIONS¶
- CELERY_TRANSLATE_OPTIONS¶
- CELERY_BACKUP_OPTIONS¶
Эти переменные позволяют настраивать параметры рабочих процессов Celery в
CELERY_WORKER_MODE=split. Может быть полезно настроить параллелизм (--concurrency 16), предварительную выборку (--prefetch-multiplier 4) или использовать другую реализацию пула (--pool=gevent). Параметры командной строки имеют приоритет над соответствующими настройками Celery, позволяя каждой категории рабочих процессов использовать свой множитель предварительной выборки. Если какая-либо из этих переменных установлена в режимеcombinedилиsingle, контейнер записывает предупреждение при запуске о том, что она игнорируется.По умолчанию количество одновременно обработчиков основано на
WEBLATE_WORKERS.Пример:
environment: CELERY_MAIN_OPTIONS: --concurrency 16 --prefetch-multiplier 1
- CELERY_BEAT_OPTIONS¶
Настраивает планировщик Celery beat во всех режимах рабочих процессов.
- CELERY_SINGLE_OPTIONS¶
Настраивает рабочий процесс, используемый при
CELERY_WORKER_MODE=single.
- CELERY_SINGLE_PROCESS¶
Добавлено в версии 5.7.1.
Устарело, начиная с версии 2026.9.1.
Совместимый псевдоним для
CELERY_WORKER_MODE=single. Если установлено в1безCELERY_WORKER_MODE, контейнер запускается в режимеsingleи записывает предупреждение с просьбой обновить настройку. Если установлены обе переменные,CELERY_WORKER_MODEимеет приоритет.
- WEBLATE_ASGI¶
Добавлено в версии 2026.8.
Установите в
1, чтобы запускать веб-приложение с использованием ASGI вместо WSGI. Это опциональная настройка, предназначенная для тестирования перехода на ASGI. WSGI пока остаётся режимом по умолчанию, но в будущем релизе будет использоваться только ASGI, и этот параметр будет удалён.environment: WEBLATE_ASGI: 1
- WEB_WORKERS¶
Настройте, сколько рабочих процессов веб-приложения должно выполняться.
По умолчанию это половина от
WEBLATE_WORKERS, но не менее 2.Пример:
environment: WEB_WORKERS: 4
Изменено в версии 5.13:
WEB_WORKERSнастраивает, сколько рабочих процессов будет использоваться granian.
- WEB_BLOCKING_THREADS¶
Настройте, сколько блокирующих WSGI-потоков может использовать каждый рабочий процесс granian. По умолчанию вдвое больше
WEBLATE_WORKERSи игнорируется, когда включёнWEBLATE_ASGI.Максимальное количество одновременных WSGI-запросов примерно равно
WEB_WORKERS, умноженному наWEB_BLOCKING_THREADS. Каждый поток может иметь собственное подключение к базе данных, поэтому следите, чтобы итоговое количество не превышало лимит подключений к базе данных.Пример:
environment: WEB_WORKERS: 2 WEB_BLOCKING_THREADS: 8
- WEBLATE_SERVICE¶
Определяет, какие службы должны выполняться внутри контейнера. Используйте это для Масштабирование по горизонтали.
Определены следующие услуги:
celery-beatПланировщик задач Celery, должен быть запущен только в одном экземпляре. Этот контейнер также отвечает за миграцию структуры базы данных и должен быть запущен раньше других.
celery-backupОбработчик Celery для резервного копирования, должен быть запущен только один.
celery-combinedОбъединённый рабочий процесс Celery для всех очередей задач.
celery-celeryОбщий обработчик Celery.
celery-memoryПамять переводов обработчиков Celery.
celery-notifyОбработчики уведомлений Celery.
celery-singleОднопроцессный рабочий процесс Celery для всех очередей задач.
celery-translateТип фильтра автоматического перевода обработчика Celery.
webВеб-сервер.
См. также
- WEBLATE_ANUBIS_URL¶
Добавлено в версии 5.11.4.
URL-адрес сервера Anubis для обработки аутентификации подзапросов. Это может быть полезно для фильтрации входящих HTTP-запросов с использованием доказательства выполнения работы для остановки AI-ботов. Чтобы это заработало, вам необходимо настроить Anubis для аутентификации подзапросов.
Используйте URL-адрес
http://илиhttps://с действительным именем хоста или IPv4-адресом. URL-адрес может включать порт и простой разделённый косой чертой путь, использующий ASCII-буквы, цифры,_и-. Учётные данные, запросы, фрагменты и IPv6-адреса не поддерживаются.См. также
Тома контейнеров Docker’а¶
Контейнер Weblate предоставляет два тома (data и cache).
Примечание
Другие сервисные контейнеры (такие как PostgreSQL или Valkey) также имеют свои тома данных, которые необходимы для поддержания сохранности данных Weblate.
Контейнер PostgreSQL хранит базу данных в томе /var/lib/postgresql, а Valkey — в томе /data. Контейнер Valkey по умолчанию не сохраняет данные и требует дополнительной настройки для включения персистентности.
Основывайте свою конфигурацию на примерах, предоставленных Weblate, или обратитесь к их документации для получения дополнительной информации.
Том data монтируется как /app/data и используется для хранения постоянных данных Weblate, таких как клонированные репозитории, или для настройки установки Weblate. DATA_DIR более подробно описывает, что здесь хранится.
Том data также является местом для хранения настроек Weblate, таких как Переопределение настроек из тома данных, Замена логотипа и других статических файлов или Настройка кода.
Непосредственное размещение этого тома в хост-системе зависит от настроек самого Docker’а, но обычно он хранится в каталоге /var/lib/docker/volumes/weblate-docker_weblate-data/_data/ (путь состоит из имени вашего каталога docker-compose, имён контейнеров и томов).
Том cache монтируется как /app/cache и используется для хранения статических файлов и CACHE_DIR. Его содержимое воссоздаётся при запуске контейнера, и том можно смонтировать с использованием эфемерной файловой системы, такой как tmpfs, но монтирование должно разрешать выполнение, поскольку Weblate хранит там сгенерированные вспомогательные файлы.
При явном монтировании /app/cache как tmpfs в Docker Compose включите выполнение:
tmpfs:
- /app/cache:exec
При также установке параметров владельца сохраните опцию exec:
tmpfs:
- /app/cache:exec,uid=1000,gid=1000
При создании томов вручную, каталоги должны принадлежать UID 1000, так как именно этот пользователь используется внутри контейнера.
Контейнер Weblate также может выполняться с корневой файловой системой только для чтения. В этом случае должны быть смонтированы два дополнительных тома tmpfs: /tmp и /run.
См. также
Корневая файловая система только для чтения¶
Добавлено в версии 4.18.
При запуске контейнера с корневой файловой системой, доступной только для чтения, требуются два дополнительных тома tmpfs — /tmp и /run.
Конфигурация за пределами переменных среды¶
Переменные окружения Docker предназначены для раскрытия большинства параметров конфигурации, имеющих отношение к установкам Weblate.
Если вы обнаружите параметр, который не представлен как переменная окружения, и вы считаете, что он должен быть представлен, не стесняйтесь попросить раскрыть его в будущей версии Weblate.
Если вам нужно изменить параметр, который не представлен как переменная окружения Docker, вы всё равно можете это сделать, либо из тома данных, либо расширив образ Docker.
См. также
Переопределение настроек из тома данных¶
Вы можете создать файл /app/data/settings-override.py, то есть в корне тома данных, чтобы расширить или переопределить настройки, заданные через переменные окружения.
Переопределение настроек путём расширения образа Docker¶
Чтобы переопределить настройки на уровне образа Docker, а не на уровне тома данных:
Добавьте в свой пакет модуль, который импортирует все настройки из
weblate.settings_docker.Например, в структуре пакета, определенной в Создание модуля Python, вы можете создать файл
weblate_customization/weblate_customization/settings.pyсо следующим исходным кодом:from weblate.settings_docker import *
Создайте собственный
Dockerfile, который унаследован от официального образа Docker Weblate, а затем установите ваш пакет и укажите переменную средыDJANGO_SETTINGS_MODULEв ваш модуль настроек:FROM weblate/weblate USER root COPY weblate_customization /usr/src/weblate_customization RUN source /app/venv/bin/activate && uv pip install --no-cache-dir /usr/src/weblate_customization ENV DJANGO_SETTINGS_MODULE=weblate_customization.settings USER 1000
Вместо использования официального образа Docker Weblate создайте собственный образ из этого файла
Dockerfile.Не существует чистого способа сделать это с помощью
docker-compose.override.yml. Вы можете добавитьbuild: .в узелweblateв этом файле, но тогда ваше собственное изображение будет помечено в вашей системе какweblate/weblate, что может быть проблематичным.Итак, вместо использования
docker-compose.ymlпрямо из официального репозитория, без изменений и расширения его черезdocker-compose .override.yml, вы можете сделать копию официального файлаdocker-compose.ymlи отредактировать свою копию, заменивimage: weblate/weblateнаbuild: ..См. «Справочник по сборке файла Compose» для получения подробной информации о создании образов из исходного кода при использовании
docker-compose.Расширьте свой модуль пользовательских настроек, чтобы определить или переопределить настройки.
Вы можете определить параметры до или после приведенного выше оператора импорта, чтобы определить, какие параметры имеют приоритет. Настройки, определенные до оператора импорта, могут быть переопределены переменными среды и переопределениями настроек, определенными в томе данных. Параметр, определенный после оператора импорта, не может быть переопределен.
Вы также можете пойти дальше. Например, вы можете воспроизвести некоторые действия, которые
weblate.docker_settingsвыполняет, например, предоставление настроек в виде переменных среды или разрешение переопределения настроек из файлов Python в томе данных.
Замена логотипа и других статических файлов¶
Статические файлы, поставляемые с Weblate, можно переопределить, поместив их в каталог /app/data/python/customize/static (смотрите раздел Тома контейнеров Docker’а). Например, создав файл /app/data/python/customize/static/favicon.ico, вы замените им иконку сайта.
Подсказка
При запуске контейнера файлы копируются в соответствующее место, поэтому после изменения содержимого тома Weblate требуется перезапустить.
Этот подход также можно использовать для переопределения шаблонов Weblate. Например, пользовательские документы Юридический модуль и стили могут быть предоставлены, как описано в Настройка юридических документов и стилей.
В качестве альтернативы вы также можете включить свой собственный модуль (смотрите раздел Настройка Weblate) и добавить его в контейнер Docker’а отдельным томом, например:
weblate:
volumes:
- weblate-data:/app/data
- ./weblate_customization/weblate_customization:/app/data/python/weblate_customization
environment:
WEBLATE_ADD_APPS: weblate_customization
Настройка кода¶
Примечание
Внутренний API Weblate может значительно различаться между выпусками и не предназначен для стабильности. Пожалуйста, проверяйте ваш пользовательский код, взаимодействующий с внутренними компонентами Weblate, при каждом обновлении.
Вы можете разместить дополнительный код Python в /app/data/python/customize (см. Тома контейнеров Docker’а). Он уже установлен как приложение Django внутри Weblate (это используется для настройки шаблонов и статических файлов, как описано выше).
Это можно использовать для размещения любого кода (например, Написание собственных проверок) или для добавления пользовательских задач обслуживания в планировщик задач Celery.
/app/data/python/customize/tasks.py.¶"""Custom scheduled task."""
from __future__ import annotations
# ruff: ignore[suspicious-subprocess-import]
import subprocess
from typing import TYPE_CHECKING
from celery.schedules import crontab
from weblate.utils.celery import app
if TYPE_CHECKING:
from celery import Celery
@app.task
def custom_task() -> None:
"""Execute custom task code."""
# ruff: ignore[start-process-with-partial-path]
subprocess.run(["sleep", "1"], check=True)
@app.on_after_finalize.connect
def setup_periodic_tasks(sender: Celery, **kwargs: object) -> None:
"""Configure when periodic task is triggered."""
sender.add_periodic_task(
crontab(hour=1, minute=0), custom_task.s(), name="custom-task"
)
Интеграция сторонних контейнеров¶
Установку Weblate Docker можно расширить с помощью дополнительных контейнеров для предоставления дополнительных услуг, таких как машинный перевод, проверка орфографии, или других инструментов, улучшающих рабочий процесс перевода. Эти сервисы могут быть интегрированы в вашу конфигурацию Docker Compose и работать вместе с Weblate.
При добавлении сторонних контейнеров учитывайте следующее:
Сетевая связность: Убедитесь, что контейнеры могут взаимодействовать друг с другом, разместив их в одной сети Docker
Сохранение данных: Используйте тома для сервисов, которым необходимо сохранять данные
Безопасность: Настройте соответствующие средства контроля доступа и избегайте открытия ненужных портов
Интеграция контейнера Docker LibreTranslate¶
LibreTranslate — это бесплатный сервис машинного перевода с открытым исходным кодом, который можно развернуть самостоятельно. Его интеграция с Weblate обеспечивает возможности автономного машинного перевода без использования внешних сервисов.
Вы можете включить сервис LibreTranslate в ваше развёртывание Weblate, добавив его в файл docker-compose.override.yml. Поскольку он работает внутри сети Docker, он доступен только для Weblate и не открыт в публичном интернете.
Базовая настройка с использованием docker-compose.override.yml:
services:
libretranslate:
image: libretranslate/libretranslate:latest
command: --disable-web-ui
restart: unless-stopped
environment:
LT_UPDATE_MODELS: true
volumes:
- libretranslate_models:/home/libretranslate/.local:rw
healthcheck:
test: ['CMD-SHELL', './venv/bin/python scripts/healthcheck.py']
interval: 10s
timeout: 4s
retries: 4
start_period: 5s
volumes:
libretranslate_models:
Для перевода с ускорением на ГП (если у вас есть графический процессор NVIDIA):
services:
libretranslate:
image: libretranslate/libretranslate:latest-cuda
command: --disable-web-ui
restart: unless-stopped
environment:
LT_UPDATE_MODELS: true
PUID: root
volumes:
- libretranslate_models:/home/libretranslate/.local:rw
healthcheck:
test: ['CMD-SHELL', './venv/bin/python scripts/healthcheck.py']
interval: 10s
timeout: 4s
retries: 4
start_period: 5s
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
volumes:
libretranslate_models:
После запуска сервисов с помощью docker compose down && docker compose up -d, настройте LibreTranslate в Weblate:
Доступ к интерфейсу администратора Weblate
Перейдите в Управление → Службы перевода
Добавьте новую службу LibreTranslate с помощью:
- Сервис:
LibreTranslate
- URL-адрес API:
http://libretranslate:5000- API-ключ:
Оставьте пустым
Теперь LibreTranslate настроен и доступен для машинного перевода в Weblate.
Примечание
Сервис LibreTranslate работает без веб-интерфейса (
--disable-web-ui) и доступен только через API внутри сети Docker.Модели автоматически обновляются при запуске контейнера. (
LT_UPDATE_MODELS: true)Данные сохраняются с использованием томов Docker для оптимальной производительности и безопасности данных.
Проверки работоспособности гарантируют, что движок Docker правильно отслеживает состояние службы.
Для ускорения на графическом процессоре используйте вариант образа CUDA и убедитесь, что ваша система поддерживает NVIDIA Docker. Этот контейнер запускается от привилегированного пользователя, чтобы иметь возможность использовать ГП.
Внешние порты не открываются, что делает настройку безопасной по умолчанию.
Интеграция контейнера Docker Anubis¶
Anubis — это утилита веб-брандмауэра для блокировки ИИ-парсеров и другого мешающего трафика на сервере. Обычно она требуется для публично открытых установок Weblate, чтобы избежать чрезмерной нагрузки, вызванной парсингом.
Anubis можно развернуть с помощью Docker Compose:
anubis:
image: ghcr.io/techarohq/anubis:latest
environment:
BIND: ":8923"
DIFFICULTY: "4"
METRICS_BIND: ":9090"
SERVE_ROBOTS_TXT: "false"
OG_PASSTHROUGH: "false"
# The single space in TARGET enables subrequest authentication
TARGET: " "
# The redirect domain has to match WEBLATE_SITE_DOMAIN
REDIRECT_DOMAINS: weblate.example.com
# Generate a random private key using: openssl rand -hex 32
ED25519_PRIVATE_KEY_HEX: "..."
# Customize your Anubis policy
POLICY_FNAME: /data/botPolicies.yaml
healthcheck:
test: ["CMD", "anubis", "--healthcheck"]
interval: 5s
timeout: 30s
retries: 5
start_period: 500ms
volumes:
- anubis-data:/data
volumes:
anubis-data:
Примечание
Том anubis-data в приведённой выше конфигурации должен содержать botPolicies.yaml с политикой работы с ботами, настроенной в соответствии с вашими потребностями.
Как минимум, вам необходимо настроить коды состояния, как описано в https:// anubis.techaro.lol/docs/admin/configuration/subrequest-auth.
Также рекомендуется настроить бэкенд постоянного хранения, как описано в https:// anubis.techaro.lol/docs/admin/policies/#storage-backends.
Затем вы можете включить использование Anubis в Weblate с помощью:
environment:
WEBLATE_ANUBIS_URL: http://anubis:8923
См. также
Настройка сервера PostgreSQL¶
Контейнер PostgreSQL использует конфигурацию PostgreSQL по умолчанию, которая неэффективно использует ядра процессора или память. Рекомендуется настроить конфигурацию для повышения производительности.
Конфигурацию можно изменить, как описано в разделе Конфигурация базы данных по адресу https://hub.docker.com/_/postgres. Конфигурацию, соответствующую вашей среде, можно сгенерировать с помощью https://pgtune.leopard.in.ua/.
Внутренние свойства контейнера¶
Контейнер использует supervisor для запуска отдельных сервисов. В случае Масштабирование по горизонтали он запускает только один сервис в контейнере.
Для проверки состояния услуг используйте:
docker compose exec --user weblate weblate supervisorctl status
Службы Celery зависят от CELERY_WORKER_MODE. Режим по умолчанию combined запускает celery-combined, а режим single запускает celery-single. Вы можете остановить всю обработку задач в режиме по умолчанию с помощью:
docker compose exec --user weblate weblate supervisorctl stop celery-combined
Режим split запускает отдельную службу для каждой очереди Celery (подробности см. в Фоновые задачи с использованием Celery). В этом режиме вы можете остановить обработку некоторых задач, остановив соответствующего рабочего процесса:
docker compose exec --user weblate weblate supervisorctl stop celery-translate