Установка с помощью Docker’а¶
С помощью докеризированного развёртывания Weblate вы можете запустить ваш личный экземпляр Weblate за считанные секунды. Все зависимости Weblate уже включены в образ. В качестве базы данных по умолчанию настроена PostgreSQL.
Требования к оборудованию¶
Weblate должен без проблем работать на всём современном оборудовании, ниже приведена минимальная конфигурация, необходимая для запуска Weblate на одном узле (сам Weblate, база данных и веб-сервер):
2 ГБ оперативной памяти
2-х ядерный процессор
1 ГБ дискового пространства
Чем больше памяти, тем лучше — она используется для кэширования на всех уровнях (на уровне файловой системы, уровне базы данных и уровне Weblate).
Множество одновременно работающих пользователей увеличивают количество необходимых ядер процессора. Для сотен компонентов перевода рекомендуется не менее 4 Гб оперативной памяти.
Примечание
Фактические требования к вашей установке Weblate сильно зависят от размера управляемых ею переводов.
Установка¶
В следующих примерах предполагается, что у вас есть рабочее окружение Docker’а, в котором установлен docker-compose
. Для получения конкретных инструкций ознакомьтесь с документацией к Docker’у.
Склонируйте репозиторий weblate-docker:
git clone https://github.com/WeblateOrg/docker-compose.git weblate-docker cd weblate-docker
Создайте файл
docker-compose.override.yml
со своими настройками. Полный список переменных окружения приведён в разделе Переменные окружения Docker’а.version: '3' services: weblate: ports: - 80:8080 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
Примечание
Если переменная
WEBLATE_ADMIN_PASSWORD
не установлена, то пользователь-администратор создаётся со случайным паролем, отображаемым при первом запуске.Приведённый пример настраивает Weblate на прослушку порта 80, чтобы его изменить, отредактируйте отображение портов в файле
docker-compose-override.yml
.Запустите контейнеры Weblate:
docker-compose up
Наслаждайтесь своим развёрнутым Weblate’ом, он доступен на порту 80 контейнера weblate
.
Изменено в версии 2.15-2: Недавно настройка изменилась, ранее существовал отдельный контейнер веб-сервера, но с версии 2.15-2 веб-сервер встроен в контейнер Weblate.
Изменено в версии 3.7.1-6: In July 2019 (starting with the 3.7.1-6 tag), the containers are not running as a root user. This has changed the exposed port from 80 to 8080.
См.также
Контейнер Docker с поддержкой HTTPS¶
Please see Установка for generic deployment instructions, this section only mentions differences compared to it.
Использование собственных SSL-сертификатов¶
Добавлено в версии 3.8-3.
In case you have own SSL certificate you want to use, simply place the files into the Weblate data volume (see Docker container volumes):
ssl/fullchain.pem
containing the certificate including any needed CA certificatesssl/privkey.pem
containing the private key
Both of these files must be owned by the same user as the one starting the docker container and have file mask set to 600
(readable and writable only by the owning user).
Additionally, Weblate container will now accept SSL connections on port 4443, you will want to include the port forwarding for HTTPS in docker compose override:
version: '3'
services:
weblate:
ports:
- 80:8080
- 443:4443
If you already host other sites on the same server, it is likely ports 80
and 443
are used by a reverse proxy, such as NGINX. To pass the HTTPS connection from NGINX to the docker container, you can use the following configuration:
server {
listen 443;
listen [::]:443;
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>;
}
}
Replace <SITE_URL>
, <SITE>
and <EXPOSED_DOCKER_PORT>
with actual values from your environment.
Автоматический выпуск SSL-сертификатов с помощью сервиса Let’s Encrypt¶
In case you want to use Let’s Encrypt
automatically generated SSL certificates on public installation, you need to
add a reverse HTTPS proxy an additional Docker container, https-portal will be used for that.
This is made use of in the docker-compose-https.yml
file. Then create
a docker-compose-https.override.yml
file with your settings:
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'
Whenever invoking docker-compose you need to pass both files to it, and then do:
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’а¶
Usually it is good idea to only update the Weblate container and keep the PostgreSQL container at the version you have, as upgrading PostgreSQL is quite painful and in most cases does not bring many benefits.
You can do this by sticking with the existing docker-compose and just pull the latest images and then restart:
docker-compose stop
docker-compose pull
docker-compose up
The Weblate database should be automatically migrated on first startup, and there should be no need for additional manual actions.
Примечание
Upgrades across 3.0 are not supported by Weblate. If you are on 2.x series
and want to upgrade to 3.x, first upgrade to the latest 3.0.1-x (at time of
writing this it is the 3.0.1-7
) image, which will do the migration and then
continue upgrading to newer versions.
You might also want to update the docker-compose
repository, though it’s
not needed in most case. Please beware of PostgreSQL version changes in this
case as it’s not straightforward to upgrade the database, see GitHub issue for more info.
Вход под администратором¶
После настройки контейнера вы можете войти в систему под пользователем admin с паролем, указанным в переменной окружения WEBLATE_ADMIN_PASSWORD
, или случайным паролем, сгенерированным при первом запуске, если он не был установлен явно.
Для сброса пароля пользователя admin перезапустите контейнер с переменной WEBLATE_ADMIN_PASSWORD
, установленной в новое значение пароля.
Переменные окружения Docker’а¶
Многие конфигурационные настройки Weblate в контейнере Docker могут быть установлены через переменные окружения:
Общие параметры¶
-
WEBLATE_DEBUG
¶ Настраивает отладочный режим Django, используя её переменную
DEBUG
.Пример:
environment: WEBLATE_DEBUG: 1
См.также
-
WEBLATE_LOGLEVEL
¶ Настраивает подробность ведения журнала.
-
WEBLATE_SITE_TITLE
¶ Changes the site-title shown in the header of all pages.
-
WEBLATE_SITE_DOMAIN
¶ Настраивает домен сайта.
Подсказка
В случае, если он не установлен, используется первый элемент из переменной окружения
WEBLATE_ALLOWED_HOSTS
.
-
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_SERVER_EMAIL
¶
-
WEBLATE_DEFAULT_FROM_EMAIL
¶ Настраивает адрес для исходящих сообщений электронной почты.
См.также
-
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_ALLOW_BACKENDS
¶ Настраивает через параметр
REGISTRATION_ALLOW_BACKENDS
методы аутентификации, которые можно использовать для создания новой учётной записи.Пример:
environment: WEBLATE_REGISTRATION_OPEN: 0 WEBLATE_REGISTRATION_ALLOW_BACKENDS: azuread-oauth2,azuread-tenant-oauth2
-
WEBLATE_TIME_ZONE
¶ Настраивает используемый в Weblate часовой пояс, смотрите описание параметра
TIME_ZONE
.Примечание
Для изменения часового пояса самого контейнера Docker используйте переменную окружения
TZ
.Пример:
environment: WEBLATE_TIME_ZONE: Europe/Prague
-
WEBLATE_ENABLE_HTTPS
¶ Заставляет Weblate думать, что он работает за обратным HTTPS-прокси, что принуждает Weblate использовать HTTPS в ссылках писем электронной почты и API или устанавливать у кук флаги безопасности.
Примечание
Этот параметр не включает разрешение на приём контейнером Weblate’а соединений по HTTPS, его нужно настроить отдельно, для примеров смотрите раздел Контейнер Docker с поддержкой HTTPS.
Пример:
environment: WEBLATE_ENABLE_HTTPS: 1
См.также
-
WEBLATE_IP_PROXY_HEADER
¶ Lets Weblate fetch the IP address from any given HTTP header. Use this when using a reverse proxy in front of the Weblate container.
Enables
IP_BEHIND_REVERSE_PROXY
and setsIP_PROXY_HEADER
.Примечание
The format must conform to Django’s expectations. Django transforms raw HTTP header names as follows:
converts all characters to uppercase
replaces any hyphens with underscores
prepends
HTTP_
prefix
So
X-Forwarded-For
would be mapped toHTTP_X_FORWARDED_FOR
.Пример:
environment: WEBLATE_IP_PROXY_HEADER: HTTP_X_FORWARDED_FOR
-
WEBLATE_SECURE_PROXY_SSL_HEADER
¶ A tuple representing a HTTP header/value combination that signifies a request is secure. This is needed when Weblate is running behind a reverse proxy doing SSL termination which does not pass standard HTTPS headers.
Пример:
environment: WEBLATE_SECURE_PROXY_SSL_HEADER: HTTP_X_FORWARDED_PROTO,https
См.также
-
WEBLATE_REQUIRE_LOGIN
¶ Configures login required for the whole of the Weblate installation using
LOGIN_REQUIRED_URLS
.Пример:
environment: WEBLATE_REQUIRE_LOGIN: 1
-
WEBLATE_LOGIN_REQUIRED_URLS_EXCEPTIONS
¶
-
WEBLATE_ADD_LOGIN_REQUIRED_URLS_EXCEPTIONS
¶
-
WEBLATE_REMOVE_LOGIN_REQUIRED_URLS_EXCEPTIONS
¶ Adds URL exceptions for login required for the whole Weblate installation using
LOGIN_REQUIRED_URLS_EXCEPTIONS
.You can either replace whole settings, or modify default value using
ADD
andREMOVE
variables.
-
WEBLATE_GOOGLE_ANALYTICS_ID
¶ Configures ID for Google Analytics by changing
GOOGLE_ANALYTICS_ID
.
-
WEBLATE_GITHUB_USERNAME
¶ Configures GitHub username for GitHub pull-requests by changing
GITHUB_USERNAME
.См.также
-
WEBLATE_GITLAB_USERNAME
¶ Configures GitLab username for GitLab merge-requests by changing
GITLAB_USERNAME
См.также
-
WEBLATE_GITLAB_HOST
¶ Настраивает хост GitLab’а для GitLab’овских запросов на слияние
См.также
-
WEBLATE_GITLAB_TOKEN
¶ Настраивает токен доступа GitLab’а для GitLab’овских запросов на слияние
См.также
-
WEBLATE_SIMPLIFY_LANGUAGES
¶ Настраивает политику упрощения языка, смотрите описание параметра
SIMPLIFY_LANGUAGES
.
-
WEBLATE_DEFAULT_ACCESS_CONTROL
¶ Настраивает значение по умолчанию для управления доступом в новых проектах, смотрите описание параметра
DEFAULT_ACCESS_CONTROL
.
-
WEBLATE_DEFAULT_RESTRICTED_COMPONENT
¶ Настраивает значение по умолчанию для ограниченного доступа в новых компонентах, смотрите описание параметра
DEFAULT_RESTRICTED_COMPONENT
.
-
WEBLATE_DEFAULT_TRANSLATION_PROPAGATION
¶ Настраивает значение по умолчанию для разрешения распространения переводов в новых компонентах, смотрите описание параметра
DEFAULT_TRANSLATION_PROPAGATION
.
-
WEBLATE_AKISMET_API_KEY
¶ Настраивает API-ключ Akismet, смотрите описание параметра
AKISMET_API_KEY
.
-
WEBLATE_GPG_IDENTITY
¶ Настраивает GPG для подписи коммитов, смотрите описание параметра
WEBLATE_GPG_IDENTITY
.См.также
-
WEBLATE_URL_PREFIX
¶ Настраивает префикс URL-адреса, на котором запущен Weblate, смотрите описание параметра
URL_PREFIX
.
-
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
¶ Позволяет настраивать HTTP-заголовок политики безопасности содержимого
Content-Security-Policy
.
Параметры машинного перевода¶
-
WEBLATE_MT_AWS_REGION
¶
-
WEBLATE_MT_AWS_ACCESS_KEY_ID
¶
-
WEBLATE_MT_AWS_SECRET_ACCESS_KEY
¶ Настраивает машинный перевод от AWS.
environment: WEBLATE_MT_AWS_REGION: us-east-1 WEBLATE_MT_AWS_ACCESS_KEY_ID: AKIAIOSFODNN7EXAMPLE WEBLATE_MT_AWS_SECRET_ACCESS_KEY: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
-
WEBLATE_MT_DEEPL_KEY
¶ Включает машинный перевод от DeepL и устанавливает параметр
MT_DEEPL_KEY
-
WEBLATE_MT_DEEPL_API_VERSION
¶ Настраивает используемую версию API DeepL, смотрите описание параметра
MT_DEEPL_API_VERSION
.
-
WEBLATE_MT_GOOGLE_KEY
¶ Включает машинный перевод от Google Translate и устанавливает параметр
MT_GOOGLE_KEY
-
WEBLATE_MT_MICROSOFT_COGNITIVE_KEY
¶ Enables Microsoft Cognitive Services Translator and sets
MT_MICROSOFT_COGNITIVE_KEY
-
WEBLATE_MT_MICROSOFT_ENDPOINT_URL
¶ Enables Microsoft Cognitive Services Translator and sets
MT_MICROSOFT_ENDPOINT_URL
-
WEBLATE_MT_MICROSOFT_BASE_URL
¶ Enables Microsoft Cognitive Services Translator and sets
MT_MICROSOFT_BASE_URL
-
WEBLATE_MT_MODERNMT_KEY
¶ Enables ModernMT and sets
MT_MODERNMT_KEY
.
-
WEBLATE_MT_MYMEMORY_ENABLED
¶ Enables MyMemory machine translation and sets
MT_MYMEMORY_EMAIL
toWEBLATE_ADMIN_EMAIL
.Пример:
environment: WEBLATE_MT_MYMEMORY_ENABLED: 1
-
WEBLATE_MT_GLOSBE_ENABLED
¶ Включает машинный перевод от Glosbe.
environment: WEBLATE_MT_GLOSBE_ENABLED: 1
-
WEBLATE_MT_MICROSOFT_TERMINOLOGY_ENABLED
¶ Включает машинный перевод от терминологической службы Майкрософт.
environment: WEBLATE_MT_MICROSOFT_TERMINOLOGY_ENABLED: 1
-
WEBLATE_MT_SAP_BASE_URL
¶
-
WEBLATE_MT_SAP_SANDBOX_APIKEY
¶
-
WEBLATE_MT_SAP_USERNAME
¶
-
WEBLATE_MT_SAP_PASSWORD
¶
-
WEBLATE_MT_SAP_USE_MT
¶ Настраивает машинный перевод от SAP Translation Hub.
environment: WEBLATE_MT_SAP_BASE_URL: "https://example.hana.ondemand.com/translationhub/api/v1/" WEBLATE_MT_SAP_USERNAME: "user" WEBLATE_MT_SAP_PASSWORD: "password" WEBLATE_MT_SAP_USE_MT: 1
Параметры аутентификации¶
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
¶ Конфигурация аутентификации через 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
Пример поиска и привязки в 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
¶ Включает аутентификацию через GitHub.
Bitbucket¶
-
WEBLATE_SOCIAL_AUTH_BITBUCKET_KEY
¶
-
WEBLATE_SOCIAL_AUTH_BITBUCKET_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.
Azure Active Directory¶
-
WEBLATE_SOCIAL_AUTH_AZUREAD_OAUTH2_KEY
¶
-
WEBLATE_SOCIAL_AUTH_AZUREAD_OAUTH2_SECRET
¶ Включает аутентификацию через Azure Active Directory, смотрите Microsoft Azure Active Directory.
Azure Active Directory с поддержкой Tenant¶
-
WEBLATE_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_KEY
¶
-
WEBLATE_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_SECRET
¶
-
WEBLATE_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_TENANT_ID
¶ Включает аутентификацию через Azure Active Directory с поддержкой Tenant, смотрите Microsoft Azure Active Directory.
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
¶ Включает аутентификацию через Keycloak, смотрите документацию.
Поставщики Linux¶
You can enable authentication using Linux vendors authentication services by setting following variables to any value.
-
WEBLATE_SOCIAL_AUTH_FEDORA
¶
-
WEBLATE_SOCIAL_AUTH_OPENSUSE
¶
-
WEBLATE_SOCIAL_AUTH_UBUNTU
¶
SAML¶
Self-signed SAML keys are automatically generated on first container startup.
In case you want to use own keys, place the certificate and private key in
/app/data/ssl/saml.crt
and /app/data/ssl/saml.key
.
-
WEBLATE_SAML_IDP_ENTITY_ID
¶
-
WEBLATE_SAML_IDP_URL
¶
-
WEBLATE_SAML_IDP_X509CERT
¶ SAML Identity Provider settings, see Аутентификация через SAML.
Настройки базы данных PostgreSQL¶
База данных создается в файле docker-compose.yml
, поэтому эти настройки влияют как на контейнер Weblate, так и на контейнер PostgreSQL.
См.также
-
POSTGRES_PASSWORD
¶ Пароль PostgreSQL.
-
POSTGRES_USER
¶ Имя пользователя PostgreSQL.
-
POSTGRES_DATABASE
¶ Имя базы данных PostgreSQL.
-
POSTGRES_HOST
¶ Имя хоста или IP-адрес сервера PostgreSQL. По умолчанию равен
database
.
-
POSTGRES_PORT
¶ Порт сервера PostgreSQL. По умолчанию не установлен (используется значение по умолчанию).
-
POSTGRES_SSL_MODE
¶ Configure how PostgreSQL handles SSL in connection to the server, for possible choices see SSL Mode Descriptions
Параметры резервного копирования базы данных¶
-
WEBLATE_DATABASE_BACKUP
¶ Configures the daily database dump using
DATABASE_BACKUP
. Defaults toplain
.
Настройка сервера кэширования¶
Using Redis is strongly recommended by Weblate and you have to provide a Redis instance when running Weblate in Docker.
См.также
-
REDIS_HOST
¶ The Redis server hostname or IP address. Defaults to
cache
.
-
REDIS_PORT
¶ Порт сервера Redis. По умолчанию установлен в
6379
.
-
REDIS_DB
¶ Нобер базы данных Redis, по умолчанию установлен в
1
.
-
REDIS_PASSWORD
¶ The Redis server password, not used by default.
-
REDIS_TLS
¶ Enables using SSL for Redis connection.
-
REDIS_VERIFY_SSL
¶ Can be used to disable SSL certificate verification for Redis connection.
Настройка почтового сервера¶
To make outgoing e-mail work, you need to provide a mail server.
Пример конфигурации 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
¶ Mail server hostname or IP address.
-
WEBLATE_EMAIL_PORT
¶ Порт почтового сервера, по умолчанию установлен в 25.
См.также
-
WEBLATE_EMAIL_HOST_USER
¶ E-mail authentication user.
См.также
-
WEBLATE_EMAIL_HOST_PASSWORD
¶ E-mail authentication password.
См.также
-
WEBLATE_EMAIL_USE_SSL
¶ Whether to use an implicit TLS (secure) connection when talking to the SMTP server. In most e-mail documentation, this type of TLS connection is referred to as SSL. It is generally used on port 465. If you are experiencing problems, see the explicit TLS setting
WEBLATE_EMAIL_USE_TLS
.См.также
-
WEBLATE_EMAIL_USE_TLS
¶ Whether to use a TLS (secure) connection when talking to the SMTP server. This is used for explicit TLS connections, generally on port 587 or 25. If you are experiencing connections that hang, see the implicit TLS setting
WEBLATE_EMAIL_USE_SSL
.См.также
-
WEBLATE_EMAIL_BACKEND
¶ Configures Django back-end to use for sending e-mails.
Отчёты об ошибках¶
It is recommended to collect errors from the installation systematically, see Сбор отчётов об ошибках.
To enable support for Rollbar, set the following:
-
ROLLBAR_KEY
¶ Your Rollbar post server access token.
-
ROLLBAR_ENVIRONMENT
¶ Ваше окружение Rollbar, по умолчанию установлена в
production
.
To enable support for Sentry, set following:
-
SENTRY_DSN
¶ Your Sentry DSN.
-
SENTRY_ENVIRONMENT
¶ Your Sentry Environment (optional).
Изменение включённых приложений, проверок, надстроек или автоматических исправлений¶
Добавлено в версии 3.8-5.
The built-in configuration of enabled checks, addons or autofixes can be adjusted by the following variables:
-
WEBLATE_ADD_APPS
¶
-
WEBLATE_REMOVE_APPS
¶
-
WEBLATE_ADD_CHECK
¶
-
WEBLATE_REMOVE_CHECK
¶
-
WEBLATE_ADD_AUTOFIX
¶
-
WEBLATE_REMOVE_AUTOFIX
¶
-
WEBLATE_ADD_ADDONS
¶
-
WEBLATE_REMOVE_ADDONS
¶
Пример:
environment:
WEBLATE_REMOVE_AUTOFIX: weblate.trans.autofixes.whitespace.SameBookendingWhitespace
WEBLATE_ADD_ADDONS: customize.addons.MyAddon,customize.addons.OtherAddon
См.также
Параметры контейнера¶
-
CELERY_MAIN_OPTIONS
¶
-
CELERY_NOTIFY_OPTIONS
¶
-
CELERY_TRANSLATE_OPTIONS
¶
-
CELERY_MEMORY_OPTIONS
¶
-
CELERY_BACKUP_OPTIONS
¶
-
CELERY_BEAT_OPTIONS
¶ These variables allow you to adjust Celery worker options. It can be useful to adjust concurrency (
--concurrency 16
) or use different pool implementation (--pool=gevent
).By default, the number of concurrent workers matches the number of processors (except the backup worker, which is supposed to run only once).
Пример:
environment: CELERY_MAIN_OPTIONS: --concurrency 16
-
UWSGI_WORKERS
¶ Configure how many uWSGI workers should be executed.
It defaults to number of processors + 1.
Пример:
environment: UWSGI_WORKERS: 32
Docker container volumes¶
There is single data volume exported by the Weblate container. The other service containers (PostgreSQL or Redis) have their data volumes as well, but those are not covered by this document.
The data volume is used to store Weblate persistent data such as cloned repositories or to customize Weblate installation.
The placement of the Docker volume on host system depends on your Docker
configuration, but usually it is stored in
/var/lib/docker/volumes/weblate-docker_weblate-data/_data/
. In the
container it is mounted as /app/data
.
См.также
Дальнейшая настройка конфигурации¶
You can further customize Weblate installation in the data volume, see Docker container volumes.
Пользовательские файлы конфигурации¶
You can additionally override the configuration in
/app/data/settings-override.py
(see Docker container volumes). This is
executed after all environment settings are loaded, so it gets completely set
up, and can be used to customize anything.
Замена логотипа и других статических файлов¶
Добавлено в версии 3.8-5.
The static files coming with Weblate can be overridden by placing into
/app/data/python/customize/static
(see Docker container volumes). For
example creating /app/data/python/customize/static/favicon.ico
will
replace the favicon.
Подсказка
The files are copied to the corresponding location upon container startup, so a restart of Weblate is needed after changing the content of the volume.
Alternatively you can also include own module (see Customizing Weblate) and add it as separate volume to the Docker container, for example:
weblate:
volumes:
- weblate-data:/app/data
- ./weblate_customization/weblate_customization:/app/data/python/weblate_customization
environment:
WEBLATE_ADD_APPS: weblate_customization
Добавление собственных Python’ьих модулей¶
Добавлено в версии 3.8-5.
You can place own Python modules in /app/data/python/
(see
Docker container volumes) and they can be then loaded by Weblate, most likely by
using Пользовательские файлы конфигурации.
См.также
Настройка hub¶
In order to use the GitHub’s pull-request feature, you must initialize your hub configuration by entering the Weblate container and executing an arbitrary Hub command. For example:
docker-compose exec --user weblate weblate bash
cd
HOME=/app/data/home hub clone octocat/Spoon-Knife
The username passed for credentials must be the same as GITHUB_USERNAME
.
См.также
Настройка lab¶
In order to use GitLab’s merge-request feature, you must initialize the lab
configuration by entering the Weblate container and executing the lab
command. For example:
docker-compose exec --user weblate weblate bash
cd
HOME=/app/data/home lab
You can also use environment variables to configure lab
on each container start.
Just add WEBLATE_GITLAB_USERNAME
, WEBLATE_GITLAB_HOST``and ``WEBLATE_GITLAB_TOKEN
to your env configuration.
weblate:
environment:
WEBLATE_GITLAB_USERNAME: translations_bot
WEBLATE_GITLAB_HOST: https://gitlab.example.com
WEBLATE_GITLAB_TOKEN: personal_access_token_of_translations_bot
The access_token
passed for lab configuration must be same as GITLAB_USERNAME
.
См.также
Select your machine - local or cloud providers¶
With Docker Machine you can create your Weblate deployment either on your local machine, or on any large number of cloud-based deployments on e.g. Amazon AWS, Greenhost, and many other providers.