Roteiro de Instalação do SAPL 3.1 Utilizando Docker - interlegis/sapl GitHub Wiki

Instalação via Docker (qualquer Sistema Operacional)

Você pode utilizar nossas imagens Docker para instalar o SAPL 3.1, em qualquer sistema operacional em que o Docker (Community Edition) é suportado. Veja mais informações em https://www.docker.com/community-edition.

Repositório da imagem: https://github.com/interlegis/sapl.

No docker hub: https://hub.docker.com/r/interlegis/sapl.

Roteiro

Atenção!

Antes de iniciar o processo de instalação via Docker tenha certeza de que:

  • A arquitetura do linux do host (servidor/pc/vm/host) onde será instalado é de 64 bits;
  • Que a versão do kernel do linux do host é igual ou superior a 3.10;
  • Que a porta 80 não esteja sendo utilizada por outra aplicação/serviço;
  • Que a porta 5432 não esteja sendo utilizada por outra aplicação/serviço.
  1. Instalação do Docker
    1.1) No terminal digite o comando abaixo para se tornar usuário root:

    sudo -s
    

    1.2) Para instalar o Docker em sua máquina, rode o comando:

    curl -ssl https://get.docker.com | sh
    

    1.3) Verifique se o Docker foi devidamente instalado, digitando o seguinte domando no terminal.

    docker ps
    

    O retorno do comando acima, caso o Docker esteja devidamente instalado será algo como:

    CONTAINER ID        IMAGE               COMMAND             CREATED         STATUS              PORTS               NAMES
    
  2. Salve o docker-compose.yaml
    2.1) Ainda no terminal e continuando como usuário root, digite o comando abaixo e crie e acesse uma pasta para armazenar o arquivo docker-compose.yaml?

    mkdir sapl31
    cd sapl31
    

    2.2) Ainda no terminal e continuando como usuário root, e utilizando seu editor favorito (Vi, vim , nano, emacs, etc), copie e cole o conteúdo abaixo do link abaixo e o salve com o nome docker-compose.yaml dentro da pasta sapl31, que foi criada anteriormente.

    https://raw.githubusercontent.com/interlegis/sapl/3.1.x/docker/docker-compose.yaml

  3. Rode o Docker compose: 3.1) Ainda no terminal e continuando como usuário root, rode o comando abaixo:

    docker compose up -d
    

    3.2) Verifique se o Docker foi devidamente instalado, digitando o seguinte domando no terminal:

    docker ps
    

    O retorno do comando acima, caso o Docker esteja devidamente instalado será algo como:

    CONTAINER ID   IMAGE                          COMMAND                  CREATED          STATUS          PORTS                         NAMES
    9b66944f5a4f   interlegis/sapl:3.1.163-RC21   "/var/interlegis/sap…"   10 minutes ago   Up 10 minutes   0.0.0.0:80->80/tcp, 443/tcp   sapl
    046abc2ea8df   postgres:10.5-alpine           "docker-entrypoint.s…"   10 minutes ago   Up 10 minutes   0.0.0.0:5433->5432/tcp        postgres
    5c79c6343dc3   solr:8.11                      "docker-entrypoint.s…"   10 minutes ago   Up 10 minutes   0.0.0.0:8983->8983/tcp        solr
    
  4. Caso necessário, veja os logs.

Caso precise ver o que está acontecendo, rode o comando abaixo:

docker compose logs -f

Explicação do arquivo docker-compose.yaml

Parâmetros utilizados:

  1. Image

Este parâmetro indica ao Docker qual imagem deve ser utilizada para rodar o serviço.

  1. Environment

Neste parâmetro é que fica declarado as variáveis de ambiente necessárias para que o container possa rodar.

  1. Volumes

Este parâmetro cria uma cópia dos diretórios listados antes dos dois pontos (:) para um diretório na sua máquina (o listado depois dos dois pontos).

Obs: os volumes são necessários para que, caso o container seja destruído, não se percam os dados armazenados.

  1. Ports

Este parâmetro indica a porta em que o serviço irá rodar:

Antes dos dois pontos(:), temos a porta que será utilizada no host.

Depois dos dois pontos (:), temos a porta que será utilizada na rede interna do Docker.

Dica: caso a porta "80" já esteja sendo utilizada no seu host, você irá modificar a opção antes dos dois pontos (:) para utilizar outra porta.

  1. Services

Tem-se três serviços rodando com este docker compose: uma imagem do solr; uma imagem do postgres funcionando como banco de dados do SAPL; e uma imagem do SAPL que é a própria aplicação.