# Instalação e configuração

### Pré-requisitos

Para a configuração do endpoint, utilizamos como base o Docker CE, um gerenciador de containers que permite simplificar a configuração e gestão da solução.\
&#x20;Consulte a [documentação oficial](https://www.docker.com/) para mais informações sobre o Docker e seu funcionamento.

O mínimo necessário para execução:

* **Linux**\
  &#x20;Docker para [Centos](https://docs.docker.com/v17.12/install/linux/docker-ce/centos/#install-docker-ce)\
  &#x20;Docker para [Debian](https://docs.docker.com/v17.12/install/linux/docker-ce/debian/#install-docker-ce)
  * Versões:
    * Debian 8+ ou Centos 7+ x86\_64
    * Docker versão 18+.
  * 2GB de RAM para a aplicação.
  * A quantidade de CPU depende do volume de assinaturas realizadas.
  * 5GB de disco para aplicação e logs, sem contar o sistema operacional.
  * Acesso à internet para instalação de aplicativos.
  * Acesso por parte das aplicações integradas à aplicação.

**Atenção**\
&#x20;É necessário a instalação do [Docker-compose](https://docs.docker.com/compose/install/#install-compose).

**Rede e conectividade**\
&#x20;Para o funcionamento do CEAS é necessário acesso aos endpoints do provedor de assinaturas (PSCs), exemplo:

* apicloudid.vaultid.com.br
* portalapicloudid.vaultid.com.br
* api.birdid.com.br
* painel.birdid.com.br

Confira a lista atualizada dos endpoints dos PSCs homologados no [repositório oficial do ITI LPSC.](http://acraiz.icpbrasil.gov.br/tsl/LPSC.pdf)

A comunicação entre o CEAS e os endpoints não pode ser realizada com inspeção SSL/TLS ou algum tipo de homem do meio que intercepte e interfira na abertura de sessão.

A solução não inicia acessos à rede interna. O tráfego de saída pode ser limitado aos clientes que consomem os serviços e aos endpoints citados.&#x20;

### Configurações

Para iniciar o download da imagem e execução do software utilizando o docker-compose,  faça o download do arquivo [yaml de exemplo](https://github.com/VaultID/docker-ceas/blob/master/ceas-compose.yaml), ou um [clone do repositório de demonstração](https://github.com/VaultID/docker-ceas).

Os seguintes parâmetros devem ser definidos dentro do arquivo ceas-compose.yaml.

* **APACHE\_SSL**
  * Defina para true se deseja que o Apache do container forneça o serviço com TLS ativo.
  * Espera-se que o certificado digital e a respectiva chave sejam fornecidos através de um ponto de montagem no container. Descomente a sessão 'volumes' e configure os arquivos conforme orientação.
    * Arquivo **path\_crt**
      * Espera-se um arquivo com a parte pública do certificado digital concatenado com as cadeias intermediárias da Autoridade Certificado emissora. Todos os certificados devem estar no formato PEM (codificado em base64).
    * Arquivo **path\_key**
      * Espera-se um arquivo contendo apenas a chave privada correspondente ao certificado digital utilizado. A chave privada não pode ter senha e deve estar no formato PEM (codificada em base64).
* **PORTA\_EXTERNA** - Define a porta pela qual o serviço do CEAS será exposto.

**Exemplo:**

Considerando o cenário:

* SSL ativo;
* Os certificados estão salvos na pasta /opt/certs/cert.pem e /opt/certs/cert.key;
* A porta que o container deve expor é a 443;

Teremos a seguinte configuração:

```
    ...
      # Se necessário, edite apenas as variávies abaixo: #
      - "ceasUrl=https://ceas.vaultid.com.br"
      - "APACHE_SSL=true"
    ports:
      # Definir a PORTA_EXTERNA pela qual o container será exposto na rede.
      - 443:8080
    volumes:
      - /opt/certs/cert.pem:/etc/apache2/cert/cert.pem
      - /opt/certs/cert.key:/etc/apache2/cert/cert.key
    ... 
```

### Executando

* **Atenção:** Antes de continuar é necessário solicitar o acesso ao repositório de imagens do CEAS diretamente à equipe de integração da VaultID.

Após concluir e validar a instalação do docker e do docker-compose, salve e configure o arquivo ceas-compose.yaml no servidor de escolhido. Pela linha de comando, navegue até a pasta de destino do arquivo e execute:

1 - Docker login.

De posse do usuário e senha fornecidos, execute:

```
docker login harbor.lab.vaultid.com.br
```

&#x20;[![](https://github.com/VaultID/docker-cess/raw/master/images/login.png)](https://github.com/VaultID/docker-cess/blob/master/images/login.png)

2 - Iniciando a aplicação.

```
docker-compose -f ceas-compose.yaml up -d
```

&#x20;[![](https://github.com/VaultID/docker-cess/raw/master/images/dockerup.png)](https://github.com/VaultID/docker-cess/blob/master/images/dockerup.png)

3 - Verificando o estado da aplicação:

```
docker ps 
```

&#x20;[![](https://github.com/VaultID/docker-cess/raw/master/images/dockerps2.png)](https://github.com/VaultID/docker-cess/blob/master/images/dockerps2.png)

4 - Testando a aplicação:

Após a confirmação de execução da aplicação é possível validar o estado da mesma acessando a URL configurada em **ceasUrl** ou, diretamente no servidor com a combinação **IP\_SERVIDOR:PORTA\_EXTERNA**.

&#x20;[![](https://github.com/VaultID/docker-cess/raw/master/images/teste.png)](https://github.com/VaultID/docker-cess/blob/master/images/teste.png)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.vaultid.com.br/workspace/ceas/instalacao-e-configuracao.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
