Manual de Instalação (Em Docker)
Sistema do Programa de Gestão/SUSEP - Instalação por Docker
Ubuntu 20.04.4 LTS
Referências:
- https://github.com/SrMouraSilva/Sistema_Programa_de_Gestao_Susep
- https://github.com/spbgovbr/Sistema_Programa_de_Gestao_Susep
DOCKER ENGINE (configurar repositório)
- Atualizar o índice do pacote apt e permitir a adição de repositórios por HTTPS:
$ sudo apt-get update
$ sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
$ sudo apt-get update
$ sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
- Adicionar a chave GPG oficial do Docker:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- Definir o repositório estável:
$ echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
DOCKER ENGINE (instalação)
- Atualizar o índice do pacote apt e instalar a última versão do Docker Engine, containerd e Docker Compose*:
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
- Verificar a correta instalação do Docker Engine ao executar a imagem hello-world.
$ sudo docker run hello-world
Este comando baixa uma imagem de teste e a executa num container. O container exibe uma mensagem e sai.
Obs.: Não conseguimos executar esta imagem de teste mesmo instalando o Docker Engine, containerd e docker-compose (*este último parece não ter dado certo[?]) com sucesso.
GERÊNCIA DO DOCKER SEM ROOT
- Criar um grupo docker e adicionar seu(s) usuário(s):
$ sudo groupadd docker
$ sudo usermod -aG docker $USER
- Relogar o usuário (ou reiniciar a máquina) ou usar o comando newgrp docker para validar as alterações.
- Tentar executar comandos docker sem sudo.
$ docker run hello-world
DOCKER INICIANDO NO BOOT DO SISTEMA
- Configurar serviços para iniciar no boot por padrão:
$ sudo systemctl enable docker.service
$ sudo systemctl enable containerd.service
DOCKER-COMPOSE (reinstalação)
- Como os repositórios já estão disponíveis por padrão no Ubuntu, só é necessário instalar:
$ sudo apt-get install docker-compose
- Verificar a versão instalada (por padrão é 1.25.0, build unknown). Para garantir a última versão, consultar o repositório (1.29.2) e usar o segundo comando para baixá-la e guardá-la em /usr/local/bin/ com o nome de docker-compose.
$ docker-compose --version
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- Dar permissão de execução ao arquivo:
$ sudo chmod +x /usr/local/bin/docker-compose
- Verificar novamente se é a última versão:
$ docker-compose --version
SUSEP - DOCKER Versão 1.7.0
- Baixar o código da aplicação:
$ wget https://github.com/SrMouraSilva/Sistema_Programa_de_Gestao_Susep/archive/refs/heads/docker-codigo-fonte.zip
- Extrair (unzip) o código da aplicação e mover a pasta para /opt/susep/. Acessar a pasta da aplicação (/opt/susep/pasta_do_app).
- Subir a aplicação com o comando:
$ docker-compose -f docker/docker-compose.yml up -d
- Após a aplicação, subir o banco de dados com o comando:
$ docker-compose -f docker/docker-compose.sqlserver-homologacao.yml up -d
A aplicação deve estar disponível em http://localhost.
- Para verificar o status dos containers, usar o comando:
docker-compose -f docker/docker-compose.yml ps -a
- Após qualquer alteração nos arquivos de configuração (docker-compose.yml), reiniciar os containers (comandos down e up -d).
TESTANDO AUTENTICAÇÃO NO BANCO
- Existem usuários de teste para validação da integração entre a aplicação e o banco de dados. Caso não seja possível se autenticar, houve falha no levantamento do banco de dados.
SERVIDOR LDAP
- Editar o arquivo docker/docker-compose.yml nas linhas 61 a 77 de acordo com o servidor LDAP.
# LDAP
# -> URL do Servidor LDAP
- ldapOptions__Configurations__0__Url=central.reitoria.ifsertao-pe.edu.br
# -> Porta do Servidor LDAP
- ldapOptions__Configurations__0__Port=389
# -> DN do usuário de serviço que será utilizado para autenticar no LDAP"
- ldapOptions__Configurations__0__BindDN=CN=susep,CN=Users,DC=ifsertao-pe,DC=edu,DC=br
# -> Senha do usuário de serviço que será utilizado para autenticar no LDAP
- ldapOptions__Configurations__0__BindPassword=@#SUSEP#@
# -> DC que será utilizado para chegar à base de usuários no LDAP
- ldapOptions__Configurations__0__SearchBaseDC=OU=IFSERTAOPE,DC=ifsertao-pe,DC=edu,DC=br
# -> Consulta a ser aplicada no LDAP para encontrar os usuários
- ldapOptions__Configurations__0__SearchFilter=(sAMAccountName={0})
# -> Campo do LDAP em que será encontrado o CPF do usuário
- ldapOptions__Configurations__0__CpfAttributeFilter=extensionAttribute6
# -> Campo do LDAP em que será encontrado o e-mail do usuário
- ldapOptions__Configurations__0__EmailAttributeFilter=mail
- Para realizar o login pelo LDAP com sucesso, é necessário criar um usuário na tabela [dbo].[Pessoa] com CPF e email iguais aos do usuário do LDAP.
- Após criar o usuário espelhado no banco, caso haja falha no login, há algum erro na configuração do LDAP no arquivo docker-compose.yml.
Proposta de Treinamento
1 - Preparação e Pré-Requisitos do Ambiente - 30min
2 - Configuração do Docker - 1:30h
3 - Instalação da Aplicação - 30min
4 - Teste da Aplicação - 1h
5 - Configuração do Ambiente - 1h
6 - Suporte - 3h