Execute o Jitterbit App Builder no Docker
Introdução
Você pode executar o App Builder como um contêiner Docker usando a imagem Docker do Jitterbit App Builder e uma licença válida do App Builder.
A imagem Docker do App Builder do Jitterbit suporta os seguintes bancos de dados:
-
Edições Standard ou Enterprise x64 do Microsoft SQL Server 2016 ou posterior. Isso deve ser configurado com a sequência de collation
SQL_Latin1_General_CP1_CI_AS
e autenticação em modo misto. -
MySQL 8.0 ou posterior.
-
PostgreSQL 14 ou posterior.
Importante
Embora você deva executar uma instância do App Builder e seu banco de dados separadamente em hosts que atendam aos requisitos de sistema do App Builder, para simplificar, estas instruções usam o mesmo host para ambos.
Pré-requisitos
Você deve ter o seguinte:
-
Docker engine instalado e em execução.
-
Docker compose instalado.
-
Para o exemplo
docker run
, um banco de dados existente é necessário. (Os exemplosdocker compose
e adicionais incluem um serviço que executa um banco de dados do App Builder, portanto, não requerem um existente.)
Limitações
As seguintes limitações se aplicam ao App Builder executando como um contêiner Docker. (Elas também se aplicam a qualquer instalação baseada em Linux.)
Suporte ao Windows
Os seguintes recursos do Windows não são suportados:
- Autenticação do Active Directory
- Crystal Reports
- Impersonação do sistema de arquivos
- Autenticação Integrada do Windows (IWA)
- SAP ABAP
- Plugins de terceiros
Limite de tamanho de upload de arquivo
Os uploads de arquivos são limitados a 30.000.000 bytes (28,6 MB) por padrão. Isso é para ajudar a proteger contra ataques de Negação de Serviço (DoS).
Para aumentar esse limite, defina a variável de ambiente Kestrel__Limits__MaxRequestBodySize
para o tamanho máximo de arquivo desejado em bytes.
Tags suportadas
Você pode puxar imagens do Docker usando as seguintes tags:
Tag | Versão |
---|---|
latest | Última versão da última série 4.x lançada |
4 | |
4.0 | Última versão de uma série específica 4.x |
4.46 | |
4.46.12345 | Versão específica de uma série específica 4.x |
Importante
Para estabilidade, você deve usar tags de versão específicas e fixar sua instância do App Builder a essa versão. Para escolher uma, consulte as notas de versão ou a página de tags de imagem do Docker.
Iniciar uma instância do App Builder com docker run
Para iniciar uma instância do App Builder que se conecta a um banco de dados existente em execução no mesmo host, siga estas etapas:
-
Crie um arquivo
vinyl.env
contendo as seguintes variáveis de ambiente, com valores substituídos de acordo com a tabela abaixo:ConnectionInfo__DatabaseType=<DB_TYPE> ConnectionInfo__HostName=<DB_HOSTNAME> ConnectionInfo__DatabaseName=<DB_NAME> ConnectionInfo__Port=<DB_PORT> ConnectionInfo__UserName=<DB_USERNAME> ConnectionInfo__Password=<DB_PASSWORD>
Valor Substitua por <DB_TYPE>
O tipo do seu banco de dados, um dos seguintes: SQLServer
,MySQL
ouPostgreSql
.<DB_HOSTNAME>
O nome do host ou o endereço IP do seu servidor de banco de dados. <DB_PORT>
(Opcional) O número da porta em que seu serviço de banco de dados está em execução. Padrões: 1433
(SQL Server),3306
(MySQL),5432
(PostgreSQL).<DB_NAME>
(Opcional) O nome do banco de dados do App Builder. Padrão: Vinyl
. Para bancos de dados sensíveis a maiúsculas e minúsculas, como PostgreSQL e MySQL, recomenda-sevinyl
para seguir as regras de nomenclatura do banco de dados.<DB_USERNAME>
O nome de usuário do banco de dados do App Builder. <DB_PASSWORD>
A senha do usuário do banco de dados do App Builder. (Essas e outras variáveis de ambiente estão descritas em Configurando o App Builder na inicialização.)
Exemplo para PostgreSQL:
ConnectionInfo__DatabaseType=PostgreSql ConnectionInfo__HostName=host.docker.internal ConnectionInfo__DatabaseName=vinyl ConnectionInfo__Port=5432 ConnectionInfo__UserName=postgres ConnectionInfo__Password=postgres
-
Inicie o contêiner Docker:
docker run --publish "80:8080" --env-file vinyl.env jitterbit/app-builder:4.45
-
Digite
http://localhost
na barra de endereços do seu navegador e aguarde a página de login do App Builder: -
(Opcional) Use seu navegador,
curl
ou uma ferramenta de teste de API web para fazer uma solicitaçãoGET
no endpoint de verificação de saúde do contêinerhttp://localhost:80/ping
. A resposta deve serApp Builder - OK - YYYY-mm-DDTHH:MM:SSZ
, com a data e hora expressas no formato ISO 8601 UTC. -
Faça login com estas credenciais:
-
Nome de usuário:
admin
-
Senha:
P@55w0rd
(A senha padrão do administrador do App Builder.)
-
-
Na página Senha Expirada, altere a senha padrão e clique na página Salvar Senha:
-
Na página Senha Alterada, clique no botão Continuar.
-
Na página Licença Ativa, clique no botão Carregar:
-
Na página Upload de Licença, clique em Procurar para abrir o navegador de arquivos do seu sistema. Encontre e abra seu arquivo de licença do App Builder, em seguida, clique no botão Salvar:
-
Na página Upload de Licença, clique no botão Ativar:
-
Na página Licença Ativa, clique no botão Iniciar:
-
A página de boas-vindas do App Builder é aberta:
Iniciar uma instância do App Builder e banco de dados com docker compose
Os seguintes exemplos usam o Docker Compose para iniciar uma instância do App Builder e um banco de dados Microsoft SQL Server.
App Builder com Microsoft SQL Server
Siga estas etapas:
-
Em um diretório vazio, crie um arquivo
docker-compose.yml
contendo o seguinte:services: db: image: mcr.microsoft.com/mssql/server hostname: vinyldb environment: MSSQL_SA_PASSWORD: P@55w0rd ACCEPT_EULA: Y volumes: - ./db_data:/var/opt/mssql/data vinyl: depends_on: - db image: jitterbit/app-builder:4.0 ports: - 80:8080 volumes: - ./vinyl_data:/app/data - ./vinyl_logs:/app/logs - ./vinyl_keys:/app/keys environment: ConnectionInfo__DatabaseType: SQLServer ConnectionInfo__HostName: vinyldb ConnectionInfo__DatabaseName: vinyl ConnectionInfo__UserName: sa ConnectionInfo__Password: P@55w0rd volumes: db_data: vinyl_data: vinyl_logs: vinyl_keys:
-
Inicie os serviços:
docker compose up -d
-
Verifique os arquivos de log em
vinyl_logs
, montados no diretório de logs do App Builder/app/logs
. (As outras montagens são/app/keys
, onde as chaves de criptografia são armazenadas, e/app/data
, o diretório de dados.) -
Continue seguindo as etapas 3 a 12 da seção anterior.
App Builder com MySQL
Siga as mesmas etapas do exemplo para Microsoft SQL Server, mas substitua o conteúdo do arquivo docker-compose.yml
pelo seguinte:
services:
db:
image: mysql
hostname: vinyldb
environment:
MYSQL_ROOT_PASSWORD: P@55w0rd
volumes:
- db_data:/var/lib/mysql
vinyl:
depends_on:
- db
image: jitterbit/app-builder:4.0
ports:
- 80:8080
volumes:
- ./vinyl_data:/app/data
- ./vinyl_logs:/app/log
- ./vinyl_keys:/app/keys
environment:
ConnectionInfo__DatabaseType: MySQL
ConnectionInfo__HostName: vinyldb
ConnectionInfo__DatabaseName: vinyl
ConnectionInfo__UserName: root
ConnectionInfo__Password: P@55w0rd
volumes:
db_data:
vinyl_data:
vinyl_logs:
vinyl_keys:
App Builder com PostgreSQL
Siga as mesmas etapas do exemplo para Microsoft SQL Server, mas substitua o conteúdo do arquivo docker-compose.yml
pelo seguinte:
services:
db:
image: postgres
hostname: vinyldb
environment:
POSTGRES_PASSWORD: postgres
volumes:
- db_data: /var/lib/postgresql/data
vinyl:
depends_on:
- db
image: jitterbit/app-builder:4.0
ports:
- 80:8080
volumes:
- ./vinyl_data:/app/data
- ./vinyl_logs:/app/logs
- ./vinyl_keys:/app/keys
environment:
ConnectionInfo__DatabaseType: PostgreSql
ConnectionInfo__HostName: vinyldb
ConnectionInfo__DatabaseName: vinyl
ConnectionInfo__UserName: postgres
ConnectionInfo__Password: postgres
volumes:
db_data:
vinyl_data:
vinyl_logs:
vinyl_keys: