# Instalando no OpenShift

Com o modelo OpenShift Weblate, você pode colocar sua instância pessoal do Weblate em funcionamento em segundos. Todas as dependências do Weblate já estão incluídas. PostgreSQL é configurado como o banco de dados padrão e declarações de volume persistentes são usadas.

Você pode encontrar o modelo em <[https://github.com/WeblateOrg/openshift/](https://github.com/WeblateOrg/openshift/)>.

## Instalação

Os exemplos a seguir presumem que você tem um ambiente OpenShift v3.x funcional, com a ferramenta cliente `oc` instalada. Confira a documentação do OpenShift para obter instruções.

O `template.yml` é adequado para executar todos os componentes em OpenShift. Existe também `template-external-postgresql.yml` que não inicia um servidor PostgreSQL e permite que você configure um servidor PostgreSQL externo.

### Console web

Copie o conteúdo bruto de [template.yml](https://github.com/WeblateOrg/openshift/blob/main/template.yml) e importe-o para seu projeto, então use o botão Criar no console web do OpenShift para criar seu aplicativo. O console web solicitará os valores de todos os parâmetros usados pelo modelo.

### CLI

Para enviar o modelo Weblate para a biblioteca de modelos do seu projeto atual, passe o arquivo `template.yml` com o seguinte comando:

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

O modelo agora está disponível para seleção usando o console web ou o CLI.

#### Parâmetros

Os parâmetros que você pode substituir estão listados na seção de parâmetros do modelo. Você pode listá-los com a CLI usando o seguinte comando e especificando o arquivo a ser usado:

```bash
$ 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
```

#### Provisionamento

Você também pode usar a CLI para processar modelos e usar a configuração gerada para criar objetos imediatamente.

```bash
$ 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
```

A instância do Weblate deve estar disponível após a migração e implantação com sucesso no parâmetro `WEBLATE_SITE_DOMAIN` especificado.

Após a configuração do contêiner, você pode entrar como usuário admin com a senha fornecida em `WEBLATE_ADMIN_PASSWORD`, ou uma senha aleatória gerada na primeira inicialização se não tiver sido definida.

Para redefinir a senha do admin, reinicie o contêiner com `WEBLATE_ADMIN_PASSWORD` definido para a nova senha no respectivo `Secret`.

#### Eliminar

```bash
$ 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
```

## Configuração

Ao processar o modelo, um respectivo `ConfigMap` será criado e poderá ser usado para personalizar a imagem Weblate. O `ConfigMap` é montado diretamente como variáveis de ambiente e aciona uma nova implantação toda vez que é alterado. Para mais opções de configuração, consulte [Variáveis de ambiente do Docker](https://docs.weblate.org/pt-br/latest/admin/install/docker.md#docker-environment) para uma lista completa de variáveis de ambiente.
