OpenShift へのインストール

OpenShift 用の Weblate テンプレートを使用すると、数秒で個人用 Weblate インスタンスを起動して実行できます。Weblate の依存関係は、すでにすべて含まれています。PostgreSQL がデフォルトのデータベースとして設定され、PERSISTENT VOLUME CLAIM(永続ボリューム要求、PVC)が使用されます。

テンプレートは <https://github.com/WeblateOrg/openshift/> にあります。

インストール

以下の例は、oc クライアント ツールをインストールした OpenShift v3.x 環境が動作していることを前提としています。手順については、OpenShift のマニュアルを参照してください。

template.yml は、OpenShift ですべてのコンポーネントを実行することに適しています。また、PostgreSQL サーバーを起動させず、外部 PostgreSQL サーバーを設定できる template-external-postgresql.yml もあります。

Web コンソール

template.yml から、生の情報をコピーし、プロジェクトにインポートしてから、OpenShift の Web コンソールの 作成 ボタンを押してアプリケーションを作成します。Web コンソールは、テンプレートで使用する、すべてのパラメーターの値を設定するように要求してきます。

CLI

Weblate テンプレートを、現在のプロジェクトのテンプレート ライブラリにアップロードします。 template.yml ファイルをアップロードするコマンド:

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

これで、Web コンソールまたは CLI を使用して、テンプレートを選択できるように変更されました。

パラメータ

上書きされるパラメータは、テンプレートの parameters セクションに記載されています。CLI で以下のコマンドを実行して、使用するファイルを指定して一覧表示させます。

$ 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

プロビジョニング

また、CLI を使用してテンプレートを処理し、生成された設定を使用してオブジェクトをすぐに作成できます。

$ 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 パラメータで、移行とデプロイを成功させた後に使用可能です。

コンテナの設定後、WEBLATE_ADMIN_PASSWORD に入力したパスワードを使用して 管理者 ユーザーとしてサインインするか、設定していない場合は、最初の起動時にランダムなパスワードを生成できます。

管理者 パスワードを初期化するには、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>
# ATTTENTION! 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 環境変数 を確認してください。