> For the complete documentation index, see [llms.txt](https://docs.vaultid.com.br/workspace/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.vaultid.com.br/workspace/ceas/instalacao-e-configuracao.md).

# 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)
