Встановлення за допомогою Docker¶
Якщо Weblate розгорнуто у середовищі Docker, ви зможете отримати ваш працездатний і запущений особистий екземпляр Weblate за декілька секунд. Усі залежності Weblate вже включено. Типовим засобом роботи із базою даних у таких екземплярах є PostgreSQL.
Вимоги щодо обладнання¶
Weblate має працювати на будь-якому сучасному обладнанні без проблем. Нижче наведено мінімальні налаштування, які потрібні для запуску Weblate на одному вузлі (Weblate, бази даних і вебсервера):
2 ГБ оперативної пам’яті
2 ядра процесора
1 ГБ вільного місця на диску
Чим більше пам’яті — тим краще. Пам’ять використовується для кешування на усіх рівнях (у файловій системі, базі даних та Weblate).
Збільшення кількості одночасних користувачів системи збільшує кількість потрібних для роботи ядер центрального процесора. Для сотень складників перекладу рекомендовано використовувати принаймні 4 ГБ оперативної пам’яті.
Типовий об’єм сховища даних близько 300 МБ на 1 мільйон збережених слів. Об’єм даних, потрібний для зберігання клонованих сховищ коду, може бути різним, але Weblate намагається його скоротити створенням поверхневих клонів.
Примітка
Реальні вимоги до встановленого вами 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: Станом на липень 2019 року (починаючи з мітки 3.7.1-6), контейнери не запускаються від імені користувача root. Це призвело до зміни порту зв’язку з 80 на 8080.
Дивись також
Контейнер Docker із підтримкою HTTPS¶
Будь ласка, ознайомтеся із розділом Встановлення, щоб отримати загальні настанови щодо розгортання. У цьому розділі наведено лише відмінності від типової процедури.
Використання власних сертифікатів SSL¶
Нове в версії 3.8-3.
Якщо у вас є власний сертифікат SSL, яким ви хочете скористатися, просто розмістіть його файли на томі даних Weblate (див. Томи контейнера Docker):
ssl/fullchain.pem
містить сертифікат, включно із будь-якими потрібними сертифікатами служби сертифікаціїssl/privkey.pem
містить закритий ключ
Власником обох цих файлів має бути той самий користувач, що і користувач, від імені якого запускається контейнер Docker. Маскою прав доступу до цих файлів має бути 600
(читання і запис лише для користувача-власника).
Крім того, контейнер Weblate прийматиме з’єднання на порту SSL 4443. Вам варто включити переспрямування портів для HTTPS у перевизначення композицій Docker:
version: '3'
services:
weblate:
ports:
- 80:8080
- 443:4443
Якщо на сервері вже обробляються дані інших сайтів, ймовірно, порти 80
і 443
використовуються оберненим проксі, наприклад NGINX. Щоб передати з’єднання HTTPS від NGINX до контейнера Docker, ви можете скористатися такими налаштуваннями:
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>;
}
}
Замініть <SITE_URL>
, <SITE>
і <EXPOSED_DOCKER_PORT>
реальними значенням з вашого середовища.
Автоматична сертифікація SSL за допомогою Let’s Encrypt¶
Якщо ви хочете скористатися автоматично створеними сертифікатами SSL від Let’s Encrypt на загальнодоступній встановленій версії, вам слід додати обернений проксі HTTPS . Для цього буде використано додатковий контейнер Docker, 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 із простим отриманням найсвіжіших образів і наступним перезапуском:
docker-compose stop
docker-compose pull
docker-compose up
Базу даних Weblate має бути автоматично перенесено на нову версію при першому запуску. Потреби у додаткових діях вручну виникнути не повинно.
Примітка
Підтримки оновлення до версій за 3.0 у Weblate не передбачено. Якщо ви працюєте із версією 2.x і хочете оновитися до 3.x, спочатку оновіться до найсвіжішої образу версії 3.0.1-x (на час написання цього підручника такою версією була 3.0.1-7
), а далі продовжуйте оновлення до новіших версій.
Ймовірно, вам також варто оновити сховище docker-compose
, хоча, у більшості випадків, потреби у цьому немає. Будь ласка, зверніть увагу на зміни у версії PostgreSQL у цьому випадку, оскільки тут не обійтися простим оновленням бази даних. Докладніше на GitHub, щоб дізнатися більше.
Вхід від імені адміністратора¶
Після налаштовування контейнера ви можете увійти до системи від імені користувача admin із використанням пароля, який надається у змінній WEBLATE_ADMIN_PASSWORD
, або випадкового пароля, який створено під час першого запуску, якщо пароль не було встановлено за допомогою змінної.
Щоб скинути пароль admin, перезапустіть контейнер зі змінною WEBLATE_ADMIN_PASSWORD
, значенням якої є новий пароль.
Дивись також
WEBLATE_ADMIN_PASSWORD
,
WEBLATE_ADMIN_NAME
,
WEBLATE_ADMIN_EMAIL
Змінні середовища Docker¶
Багато з параметрів налаштовування може бути встановлено у контейнері Docker за допомогою змінних середовища:
Загальні параметри¶
-
WEBLATE_DEBUG
¶ Налаштовує режим діагностики Django за допомогою
DEBUG
.Приклад:
environment: WEBLATE_DEBUG: 1
Дивись також
-
WEBLATE_LOGLEVEL
¶ Налаштовує докладність ведення журналу.
-
WEBLATE_SITE_TITLE
¶ Налаштовує заголовок сайта, який буде показано у верхньому колонтитулі усіх сторінок.
-
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 у посиланнях електронної пошти та програмного інтерфейсу та встановлює прапорці захищеності у куках.
Підказка
Будь ласка, ознайомтеся із документацією до
ENABLE_HTTPS
, щоб дізнатися більше про можливі проблеми.Примітка
Це не призводить до того, що контейнер Weblate починає приймати з’єднання HTTPS. Прийняття таких з’єднань слід налаштувати окремо, див. приклади у розділі Контейнер Docker із підтримкою HTTPS.
Приклад:
environment: WEBLATE_ENABLE_HTTPS: 1
-
WEBLATE_IP_PROXY_HEADER
¶ Дозволяє Weblate отримувати IP-адресу з будь-якого вказаного заголовка HTTP. Скористайтеся цим, якщо використовуєте обернений проксі перед контейнером Weblate.
Вмикає
IP_BEHIND_REVERSE_PROXY
і встановлюєIP_PROXY_HEADER
.Примітка
Формат має відповідати очікуванням Django. Django перетворює прості назви заголовків HTTP ось так:
перетворює усі символи до верхнього регістру
замінює усі дефіси символами підкреслення
дописує префікс
HTTP_
Отже
X-Forwarded-For
буде пов’язано ізHTTP_X_FORWARDED_FOR
.Приклад:
environment: WEBLATE_IP_PROXY_HEADER: HTTP_X_FORWARDED_FOR
-
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_LOGIN_REQUIRED_URLS_EXCEPTIONS
¶
-
WEBLATE_ADD_LOGIN_REQUIRED_URLS_EXCEPTIONS
¶
-
WEBLATE_REMOVE_LOGIN_REQUIRED_URLS_EXCEPTIONS
¶ Додає винятки URL-адрес для розпізнавання, потрібного для всього встановлення Weblate, за допомогою
LOGIN_REQUIRED_URLS_EXCEPTIONS
.Ви можете або замінити усі параметри, або змінити типове значення за допомогою змінних
ADD
іREMOVE
.
-
WEBLATE_GOOGLE_ANALYTICS_ID
¶ Налаштовує ідентифікато для Google Analytics зміною
GOOGLE_ANALYTICS_ID
.
-
WEBLATE_GITHUB_USERNAME
¶ Налаштовує ім’я користувача GitHub для запитів щодо об’єднання GitHub зміною
GITHUB_USERNAME
.Дивись також
-
WEBLATE_GITHUB_TOKEN
¶ Нове в версії 4.3.
Налаштовує особистий жетон доступу GitHub для запитів щодо об’єднання на GitHub з використанням програмного інтерфейсу шляхом зміни
GITHUB_TOKEN
.Дивись також
-
WEBLATE_GITLAB_USERNAME
¶ Налаштовує ім’я користувача GitLab для запитів щодо об’єднання GitLab зміною
GITLAB_USERNAME
Дивись також
-
WEBLATE_GITLAB_TOKEN
¶ Налаштовує особистий жетон доступу GitLab для запитів щодо об’єднання на GitLab з використанням програмного інтерфейсу шляхом зміни
GITLAB_TOKEN
Дивись також
-
WEBLATE_PAGURE_USERNAME
¶ Налаштовує ім’я користувача Pagure для запитів щодо об’єднання Pagure зміною
PAGURE_USERNAME
Дивись також
-
WEBLATE_PAGURE_TOKEN
¶ Налаштовує особистий жетон доступу Pagure для запитів щодо об’єднання на Pagure з використанням програмного інтерфейсу шляхом зміни
PAGURE_TOKEN
Дивись також
-
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_DEFAULT_COMMITER_EMAIL
¶ Налаштовує
DEFAULT_COMMITER_EMAIL
.
-
WEBLATE_DEFAULT_COMMITER_NAME
¶ Налаштовує
DEFAULT_COMMITER_NAME
.
-
WEBLATE_AKISMET_API_KEY
¶ Налаштовує ключ до програмного інтерфейсу Akismet, див.
AKISMET_API_KEY
.
-
WEBLATE_GPG_IDENTITY
¶ Налаштовує підписування внесків за допомогою GPG, див.
WEBLATE_GPG_IDENTITY
.Дивись також
-
WEBLATE_URL_PREFIX
¶ Налаштовує префікс адреси, на якій запущено 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
.Дивись також
Правила щодо безпеки даних,
CSP_SCRIPT_SRC
,CSP_IMG_SRC
,CSP_CONNECT_SRC
,CSP_STYLE_SRC
,CSP_FONT_SRC
-
WEBLATE_LICENSE_FILTER
¶ Налаштовує
LICENSE_FILTER
.
-
WEBLATE_HIDE_VERSION
¶ Налаштовує
HIDE_VERSION
.
-
WEBLATE_BASIC_LANGUAGES
¶ Налаштовує
BASIC_LANGUAGES
.
Параметри комп’ютерного перекладу¶
-
WEBLATE_MT_APERTIUM_APY
¶ Вмикає комп’ютерний переклад Apertium і встановлює
MT_APERTIUM_APY
-
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
¶ Налаштовує версію програмного інтерфейсу DeepL, якою слід скористатися, див.
MT_DEEPL_API_VERSION
.
-
WEBLATE_MT_GOOGLE_KEY
¶ Вмикає Перекладач Google і встановлює
MT_GOOGLE_KEY
-
WEBLATE_MT_MICROSOFT_COGNITIVE_KEY
¶ Вмикає Когнітивні служби перекладу Microsoft і встановлює
MT_MICROSOFT_COGNITIVE_KEY
-
WEBLATE_MT_MICROSOFT_ENDPOINT_URL
¶ Встановлює
MT_MICROSOFT_ENDPOINT_URL
. Будь ласка, зауважте, що тут має міститися лише назва домену.
-
WEBLATE_MT_MICROSOFT_REGION
¶ Встановлює
MT_MICROSOFT_REGION
-
WEBLATE_MT_MICROSOFT_BASE_URL
¶ Встановлює
MT_MICROSOFT_BASE_URL
-
WEBLATE_MT_MODERNMT_KEY
¶ Вмикає ModernMT і встановлює
MT_MODERNMT_KEY
.
-
WEBLATE_MT_MYMEMORY_ENABLED
¶ Вмикає комп’ютерний переклад MyMemory і встановлює
MT_MYMEMORY_EMAIL
у значенняWEBLATE_ADMIN_EMAIL
.Приклад:
environment: WEBLATE_MT_MYMEMORY_ENABLED: 1
-
WEBLATE_MT_GLOSBE_ENABLED
¶ Вмикає комп’ютерний переклад Glosbe.
environment: WEBLATE_MT_GLOSBE_ENABLED: 1
-
WEBLATE_MT_MICROSOFT_TERMINOLOGY_ENABLED
¶ Вмикає комп’ютерний переклад Служба термінології Microsoft.
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.
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
¶
-
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
¶ Вмикає Розпізнавання за 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
¶ Вмикає розпізнавання за даними Active Directory в Azure, див. 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
¶ Вмикає розпізнавання за даними Active Directory в Azure із підтримкою 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¶
Ви можете увімкнути розпізнавання за допомогою служб розпізнавання постачальників Linux, встановивши для вказаних нижче змінних довільне значення.
-
WEBLATE_SOCIAL_AUTH_FEDORA
¶
-
WEBLATE_SOCIAL_AUTH_OPENSUSE
¶
-
WEBLATE_SOCIAL_AUTH_UBUNTU
¶
Ідентифікатор¶
-
WEBLATE_SOCIAL_AUTH_SLACK_KEY
¶
-
SOCIAL_AUTH_SLACK_SECRET
¶ Вмикає розпізнавання за допомогою Slack, див. Ідентифікатор.
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
¶ Параметри надавача профілів SAML, див. Розпізнавання за SAML.
Налаштування бази даних PostgreSQL¶
База даних створюється docker-compose.yml
, отже ці параметри стосуються одразу контейнерів Weblate і PostgreSQL.
Дивись також
-
POSTGRES_PASSWORD
¶ Пароль до PostgreSQL.
-
POSTGRES_USER
¶ Ім’я користувача PostgreSQL.
-
POSTGRES_DATABASE
¶ Назва бази даних PostgreSQL.
-
POSTGRES_HOST
¶ Назва вузла сервера PostgreSQL або його IP-адреса. Типове значення —
database
.
-
POSTGRES_PORT
¶ Порт сервера PostgreSQL. Типового порту немає (використовується типове значення порту).
-
POSTGRES_SSL_MODE
¶ Налаштовує спосіб обробки SSL у PostgreSQL при з’єднанні із сервером. Можливі варіанти можна знайти у розділі Опис режимів SSL
-
POSTGRES_ALTER_ROLE
¶ Налаштовує назву ролі для зміни під час перенесення даних, див. Налаштовування Weblate на використання PostgreSQL.
Параметри резервного копіювання бази даних¶
Дивись також
-
WEBLATE_DATABASE_BACKUP
¶ Налаштовує щоденне створення дампу бази даних за допомогою
DATABASE_BACKUP
. Типовим значенням єplain
.
Налаштування сервера кешування¶
Наполегливо рекомендуємо користуватися Redis. Вам слід надати екземпляр Redis, якщо ви запускаєте Weblate у Docker.
Дивись також
-
REDIS_HOST
¶ Назва вузла сервера Redis або IP-адреса. Типовою є
cache
.
-
REDIS_PORT
¶ Порт сервера Redis. Типовим є
6379
.
-
REDIS_DB
¶ Номер бази даних Redis. Типовим є
1
.
-
REDIS_PASSWORD
¶ Пароль до сервера Redis. Типово, не використовується.
-
REDIS_TLS
¶ Вмикає використання SSL для з’єднання Redis.
-
REDIS_VERIFY_SSL
¶ Може бути використано для вимикання перевірки сертифікатів SSL для з’єднання Redis.
Налаштування сервера електронної пошти¶
Для забезпечення роботи з надсилання електронної пошти вам слід вказати поштовий сервер.
Приклад налаштувань 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
,WEBLATE_EMAIL_USE_SSL
,WEBLATE_EMAIL_USE_TLS
,EMAIL_HOST
-
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
.Дивись також
-
WEBLATE_EMAIL_USE_TLS
¶ Визначає, чи слід використовувати з’єднання TLS (захищене) при обміні даними із сервером SMTP. Використовується для явних з’єднань TLS, зазвичай, на портах 587 і 25. Якщо у вас виникають проблеми із зависанням з’єднання, див. неявний параметр TLS
WEBLATE_EMAIL_USE_SSL
.Дивись також
-
WEBLATE_EMAIL_BACKEND
¶ Налаштовує модуль обробки Django на використання для надсилання повідомлень електронної пошти.
Дивись також
Звітування про помилки¶
Рекомендуємо збирати помилки щодо встановленого екземпляра систематично, див. Збирання звітів щодо помилок.
Щоб увімкнути підтримку Rollbar, встановіть таке:
-
ROLLBAR_KEY
¶ Ваш ключ доступу до сервера надсилання Rollbar.
-
ROLLBAR_ENVIRONMENT
¶ Ваше середовище Rollbar, типове значення —
production
.
Щоб увімкнути підтримку Sentry, встановіть таке:
-
SENTRY_DSN
¶ Ваш DSN Sentry.
-
SENTRY_ENVIRONMENT
¶ Ваше середовище Sentry (необов’язково).
CDN локалізації¶
-
WEBLATE_LOCALIZE_CDN_URL
¶
-
WEBLATE_LOCALIZE_CDN_PATH
¶ Нове в версії 4.2.1.
Налаштовуння для CDN локалізації JavaScript.
WEBLATE_LOCALIZE_CDN_PATH
є шляхом у контейнері. Сховище даних має перебувати на постійному томі, а не у тимчасовому сховищі зберігання даних.Одним із можливих варіантів є зберігання даних у каталозі даних Weblate:
environment: WEBLATE_LOCALIZE_CDN_URL: https://cdn.example.com/ WEBLATE_LOCALIZE_CDN_PATH: /app/data/l10n-cdn
Примітка
За обслуговування файлів, які буде створено Weblate, відповідаєте лише ви — програми лише зберігає файли у налаштованому вами місці.
Зміна увімкнених програм, перевірок, додатків та автоматичних виправлень¶
Нове в версії 3.8-5.
Вбудовані налаштування увімкнених перевірок, додатків або автоматичних виправлень можна скоригувати за допомогою таких змінних:
-
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_MEMORY_OPTIONS
¶
-
CELERY_TRANSLATE_OPTIONS
¶
-
CELERY_BACKUP_OPTIONS
¶
-
CELERY_BEAT_OPTIONS
¶ За допомогою цих змінних ви можете скоригувати параметри обробника Celery. Цим можна скористатися для коригування паралельної обробки (
--concurrency 16
) або використання іншої реалізації буфера (--pool=gevent
).Типово, кількість паралельних обробників збігається із кількістю процесорів. Винятком є обробки резервного копіювання, який запускається лише в одному екземплярі.
Приклад:
environment: CELERY_MAIN_OPTIONS: --concurrency 16
-
UWSGI_WORKERS
¶ Налаштувати кількість обробників uWSGI, які має бути виконано.
Типовим значенням є кількість процесорів + 1.
Приклад:
environment: UWSGI_WORKERS: 32
Якщо на вашому комп’ютері багато процесорів і виникають проблеми нестачі пам’яті, спробуйте скоротити кількість обробників:
environment:
UWSGI_WORKERS: 4
CELERY_MAIN_OPTIONS: --concurrency 2
CELERY_NOTIFY_OPTIONS: --concurrency 1
CELERY_TRANSLATE_OPTIONS: --concurrency 1
Томи контейнера Docker¶
Існує один том даних, який експортується контейнером Weblate. Інші контейнери служб (PostgreSQL або Redis) мають свої томи даних, але про них у цій документації не йтиметься.
Том даних використовується для зберігання сталих даних Weblate, зокрема клонованих сховищ, або для налаштовування встановленого Weblate.
Розташування тому Docker у основній системі залежить від ваших налаштувань Docker, але, зазвичай, він зберігається у /var/lib/docker/volumes/weblate-docker_weblate-data/_data/
. У контейнері його змонтовано до /app/data
.
Дивись також
Подальше налаштовування¶
Ви можете здійснити подальше налаштовування встановленого Weblate у томі даних, див. Томи контейнера Docker.
Файли нетипових налаштувань¶
Крім того, ви можете перевизначити налаштування у /app/data/settings-override.py
(див. Томи контейнера Docker). Цей файл виконується після завантаження усіх параметрів середовища, отже, середовище буде повністю налаштовано, і файл може бути використано для додаткового налаштовування будь-чого.
Заміна логотипа та інших статичних файлів¶
Нове в версії 3.8-5.
Статичні файли, які постачаються із Weblate, можна перевизначити розташуванням змінених варіантів у /app/data/python/customize/static
(див. Томи контейнера Docker). Наприклад, шляхом створення /app/data/python/customize/static/favicon.ico
можна замінити favicon.
Підказка
Файли копіюються до відповідного місця під час запуску контейнера, отже після внесення змін до вмісту тому потрібен перезапуск Weblate.
Крім того, ви можете включити власний модуль (див. Налаштовування Weblate) і додати його як окремий том до контейнера Docker. Приклад:
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.
Ви можете розташувати власні модулі Python у /app/data/python/
(див. Томи контейнера Docker), і їх потім може бути завантажено Weblate, найімовірніше, за допомогою Файли нетипових налаштувань.
Дивись також
Виберіть вашу машину — локальні обробники і обробники у «хмарі»¶
За допомогою машини у Docker ви можете створити вашу розгорнуту систему Weblate або на вашій локальній машині, або на будь-якій із численних систем на основі «хмарних» технологій, наприклад Amazon AWS, Greenhost тощо.