Установка на OpenShift

С помощью OpenShift-шаблона Weblate вы можете обзавестись своим личным экземпляром Weblate за считаные секунды. Все зависимости Weblate уже включены в образ. В качестве базы данных по умолчанию настроена PostgreSQL, а также используются устойчивые заявки на тома (persistent volume claim).

Вы можете найти этот шаблон здесь: <https://github.com/WeblateOrg/openshift/>.

Установка

В следующих примерах предполагается, что у вас есть рабочее окружение OpenShift v3.x, в котором установлена клиентская утилита oc. Для получения конкретных инструкций ознакомьтесь с документацией OpenShift.

Файл template.yml подходит для запуска всех компонентов в OpenShift. Существует также template-external-postgresql.yml, который не запускает сервер PostgreSQL и позволяет настроить внешний сервер PostgreSQL.

Веб-консоль

Скопируйте исходное содержимое из template.yml и импортируйте его в свой проект, затем используйте кнопку Create в веб-консоли OpenShift для создания вашего приложения. Веб-консоль предложит вам ввести значения для всех параметров, используемых шаблоном.

Командная строка

Чтобы загрузить шаблон Weblate в свою текущую библиотеку проектов, передайте файл template.yml следующей команде:

$ oc create -f https://raw.githubusercontent.com/WeblateOrg/openshift/main/template.yml \
   -n <PROJECT>

Теперь шаблон можно выбрать в веб-консоли или через интерфейс командной строки.

Параметры

Список параметров, которые вы можете переопределить приведён в соответствующей секции шаблона. Вы можете посмотреть их из командной строки (указав необходимый файл) следующим образом:

$ oc process --parameters -f https://raw.githubusercontent.com/WeblateOrg/openshift/main/template.yml

# If the template is already uploaded
$ oc process --parameters -n <PROJECT> weblate

Развёртывание

Вы также можете использовать интерфейс командной строки, чтобы обработать шаблоны и использовать получившуюся конфигурацию, чтобы создать все объекты немедленно.

$ oc process -f https://raw.githubusercontent.com/WeblateOrg/openshift/main/template.yml \
    -p APPLICATION_NAME=weblate \
    -p WEBLATE_VERSION=4.3.1-1 \
    -p WEBLATE_SITE_DOMAIN=weblate.app-openshift.example.com \
    -p POSTGRESQL_IMAGE=docker-registry.default.svc:5000/openshift/postgresql:9.6 \
    -p REDIS_IMAGE=docker-registry.default.svc:5000/openshift/redis:3.2 \
    | oc create -f

После удачной миграции и развёртывания Weblate должен быть доступен по указанному адресу в параметре WEBLATE_SITE_DOMAIN.

После настройки контейнера вы можете войти в систему под пользователем admin с паролем, указанным в WEBLATE_ADMIN_PASSWORD, или случайным паролем, сгенерированным при первом запуске, если он не был установлен явно.

Чтобы сбросить пароль admin, перезапустите контейнер с WEBLATE_ADMIN_PASSWORD, установленным в новый пароль, в соответствующем Secret.

Удаление

$ oc delete all -l app=<APPLICATION_NAME>
$ oc delete configmap -l app= <APPLICATION_NAME>
$ oc delete secret -l app=<APPLICATION_NAME>
# ATTENTION! The following command is only optional and will permanently delete all of your data.
$ oc delete pvc -l app=<APPLICATION_NAME>

$ oc delete all -l app=weblate \
    && oc delete secret -l app=weblate \
    && oc delete configmap -l app=weblate \
    && oc delete pvc -l app=weblate

Конфигурация

При обработке шаблона будет создан соответствующий ConfigMap, который можно использовать для настройки образа Weblate. ConfigMap напрямую монтируется как переменные окружения и запускает новое развёртывание каждый раз при его изменении. Для получения дополнительных параметров настройки см. Переменные окружения Docker с полным списком переменных окружения.