Docker

Um guia prático de como utilizar o sistema através de um container Docker

O sistema pode ser executado via docker de maneira muito simples através de um (ou dois) comandos ou através do Compose. Neste guia iremos abordar as duas situações.

Antes de iniciarmos, é necessário que a máquina em que o sistema será executado tenha instalado o Docker versão 18 ou superior. Por ser um ambiente de containers, não há distinção entre o hospedeiro estar executado um sistema Windows ou Linux.

Ainda não tem o Docker?

Siga os tutoriais oficiais de instalação para Windows ou Linux

Método clássico

Suponha que você já possua um servidor banco de dados disponível em sua rede (seja ele outro container ou um servidor físico) você poderá de maneira muito simples iniciar o webBudget através de um único comando. Para isso siga os passos abaixo:

No servidor do banco de dados:

  1. Criar um usuário com com permissão de login

  2. Criar uma base de dados com codificação UTF-8 e com owner para o usuário criado

Os scripts abaixo podem lhe ajudar:

-- cria o usuário com senha 'sa_webbudget'
CREATE ROLE sa_webbudget WITH
LOGIN
NOSUPERUSER
INHERIT
NOCREATEDB
NOCREATEROLE
NOREPLICATION
ENCRYPTED PASSWORD 'md5f8750718b3f6b393591c7e61c3fe5a3c';
-- cria a base de dados
CREATE DATABASE webbudget
WITH
OWNER = sa_webbudget
ENCODING = 'UTF8'
LC_COLLATE = 'en_US.utf8'
LC_CTYPE = 'en_US.utf8'
TABLESPACE = pg_default
CONNECTION LIMIT = -1;

Feito os passos acima, execute o comando do Docker para iniciar o container do webBudget e defina as variáveis para apontar para o seu banco de dados existente:

docker run --name webbudget -itd -e DB_HOST=my-pg-host -e DB_USER=my-db-user -e DB_PASS=my-db-pass -p 8443:8443 arthurgregorio/web-budget-docker

Onde:

  • DB_HOST deve apontar para o IP ou DNS do seu servidor, por exemplo: localhost

  • DB_USER deve ser o usuário criado, no caso acima: sa_webbudget

  • DB_PASS deve ser a senha definida para o usuário, no caso acima: sa_webbudget (igual ao login)

  • DB_PORT (opcional) deverá utilizado para definir a porta do servidor PostgreSQL, por padrão ele utilizará a 5432

  • DB_NAME (opcional) deverá indicar o nome do banco de dados que vamos conectar, por padrão, esta definido como webbudget

Pronto!

Execute o comando e o docker fará o dowload da imagem e irá iniciar o container que ficará disponível no endereço https://localhost:8443/.

Usuário e senha padrão

O usuário e senha padrão do sistema quando recém instalado é admin

Caso queira ver os logs para encontrar algum problema, utilize o comando abaixo:

docker logs -f webbudget

Docker Compose

A maneira mais simples de utilizar o webBudget, por este método o sistema se configurar por completo e você não precisará ter o banco de dados separado da aplicação.

Para executar o sistema via Compose, siga abaixo:

  1. Baixe o arquivo docker-compose.yml em seu computador

  2. Na pasta onde baixou o arquivo, execute o comando abaixo:

docker-compose up -d

Caso tenha salvo o arquivo com um nome diferente do descrito acima, utilize o comando assim:

docker-compose -f meu-arquivo.yml up

Lembre-se de trocar o "meu-arquivo.yml" pelo nome do seu arquivo salvo.

Feito isso, o docker se encarregará de iniciar o banco de dados e a aplicação e deixá-los prontos para uso no endereço https://localhost:8443/.

Erro de SSL?

Caso um erro de SSL seja exibido informando que o certificado digital não é válido apenas o ignore.

Isso ocorre pois o Wildfly, ao ativar o protocolo HTTP/2, irá gerar um certificado digital auto-assinado que os browsers não reconhecem como válido.