Manual de Instalação por Docker Sistema do Programa de Gestão/SUSEP - Instalação por Docker Ubuntu 20.04.4 LTS 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 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. 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. newgrp docker 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 (instalação alternativa) 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. docker-compose -f docker/docker-compose.yml down e docker-compose -f docker/docker-compose.yml 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 container do banco de dados. CONEXÃO COM 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=ldap.orgao.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=usuario,CN=Users,DC=orgao # -> Senha do usuário de serviço que será utilizado para autenticar no LDAP - ldapOptions__Configurations__0__BindPassword= # -> DC que será utilizado para chegar à base de usuários no LDAP - ldapOptions__Configurations__0__SearchBaseDC=CN=Users,DC=orgao # -> Consulta a ser aplicada no LDAP para encontrar os usuários - ldapOptions__Configurations__0__SearchFilter=(&(objectClass=user)(objectClass=person)(sAMAccountName={0})) # -> Campo do LDAP em que será encontrado o CPF do usuário - ldapOptions__Configurations__0__CpfAttributeFilter= # -> Campo do LDAP em que será encontrado o e-mail do usuário - ldapOptions__Configurations__0__EmailAttributeFilter= 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. Referências https://github.com/SrMouraSilva/Sistema_Programa_de_Gestao_Susep https://github.com/SrMouraSilva/Sistema_Programa_de_Gestao_Susep/tree/docker-codigo-fonte/docker https://github.com/spbgovbr/Sistema_Programa_de_Gestao_Susep https://docs.docker.com/engine/install/ubuntu/ https://docs.docker.com/engine/install/linux-postinstall/ https://linuxhostsupport.com/blog/how-to-install-and-configure-docker-compose-on-ubuntu-20-04/