A Plataforma de Apps permite fazer o deploy de uma aplicação usando um arquivo docker-compose.yml localizado no repositório. Isso possibilita executar qualquer tipo de aplicação, inclusive aquelas construídas com frameworks frontend e backend não suportados diretamente pelo serviço.
O Dockerfile e o arquivo docker-compose.yml devem estar localizados na raiz do repositório conectado. Se o Dockerfile estiver em outro diretório, o caminho até ele deve ser especificado explicitamente no manifesto docker-compose.yml. Por exemplo:
services:
app:
build:
context: ./app # Path to the application source code
dockerfile: ./docker/Dockerfile.prod # Explicit path to the Dockerfile
O proxy será configurado para o primeiro serviço listado no docker-compose.yml. Os outros serviços, se tiverem portas de host definidas, estarão acessíveis apenas através dessas portas específicas. Por exemplo:
services:
my-app:
ports:
- "9000:80"
adminer:
ports:
- "8080:8080"
Neste caso my-app estará disponível no domínio principal, adminer estará disponível em http://<domínio>:8080.
docker-compose.yml, não é permitido utilizar as seguintes diretivas:cap_addcgroupcgroup_parentdevicesprivilegeddevice_cgroup_rulesvolumesipcpidsecurity_optuserns_modesysctlsAo tentar fazer o deploy de um manifesto que contenha qualquer uma dessas diretivas, ocorrerá um erro.
host não é permitido.
Selecione o repositório que contém a aplicação. O arquivo docker-compose.yml deve estar localizado na raiz do repositório.
Você pode conectar um repositório:
Da sua conta no GitHub, GitLab ou Bitbucket. Clique no nome da plataforma, faça login e selecione o repositório desejado. Se já estiver logado, o Hostman mostrará automaticamente os repositórios disponíveis.
Por URL, fornecendo um link de um repositório criado em qualquer plataforma. Clique em Conectar repositório via URL e insira a URL Git do repositório. Se for privado, insira também as credenciais de acesso.
Leia mais sobre como conectar repositórios aqui.
Selecione um branch para o deploy.
Por padrão, ativamos a opção Compilação pelo último commit executado. Nesse caso, a Plataforma de Apps fará o deploy do último commit e, posteriormente, reconstruirá automaticamente a aplicação sempre que novos commits forem adicionados ao repositório. Se necessário, você pode desativar o deploy automático.
Se quiser selecionar manualmente um commit específico, desative essa opção.
Sua aplicação será executada em um servidor cloud dedicado. Escolha a região e a configuração do servidor.
Você poderá fazer upgrade do servidor depois, mas não será possível fazer downgrade.
Agora, você pode adicionar a aplicação a uma rede privada e especificar o endereço IP que ela usará.
Observe que não é possível alterar a rede privada após o deploy.

A Plataforma de Apps lerá as instruções do arquivo docker-compose.yml e construirá a aplicação de acordo.
Neste momento, você pode definir variáveis, se necessário. Se já estiverem definidas no docker-compose.yml ou no Dockerfile, não é necessário duplicá-las. As variáveis de ambiente podem ser usadas tanto durante a fase de build quanto em tempo de execução da aplicação. Para usar variáveis como build arguments, passe-as para o docker-compose.yml da seguinte forma:
build:
context: .
args:
- ARGUMENT_VAR=${example_var}
Depois disso, a variável pode ser referenciada no Dockerfile:
ARG ARGUMENT_VAR=${example_var}
Posteriormente, será possível alterar essas configurações, selecionar outro branch ou commit e reiniciar o deploy com os novos parâmetros.
Aqui você pode definir um nome e um comentário para a aplicação, que serão exibidos no painel da Hostman. Você também pode selecionar um projeto ao qual adicionar a aplicação.
Essas configurações também podem ser modificadas mais tarde.
Clique em Pedido. Assim que o processo começar, você verá o log de deploy na aba Implantar.
O log de deploy contém todas as informações necessárias para resolver possíveis problemas. Se algo der errado — por exemplo, devido a erros no código — o log mostrará uma notificação com a causa específica.
No primeiro deploy de um projeto, a instalação do servidor pode levar algum tempo. Quando for concluída, o status da aplicação será atualizado e uma mensagem aparecerá no log.
Tudo pronto!
Você encontrará o endereço IP da aplicação e o domínio técnico vinculado na aba Dashboard. Para conectar seu próprio domínio, siga este guia.
A aplicação será executada nas portas 80 e 443.
No futuro, a Plataforma de Apps continuará monitorando atualizações no repositório e, se o deploy automático estiver ativado, reconstruirá o projeto automaticamente com as novas alterações.