Este kit traz o Docker instalado e o Portainer, um painel web para gerenciar os containers da VPS sem precisar decorar comandos. Você pode subir os aplicativos que quiser, e eles ganham HTTPS pelo mesmo proxy que já protege o Portainer.
O que vale para todos os aplicativos (SSH, log, reiniciar) está no artigo Sua VPS com aplicativo: dados de acesso, onde fica cada coisa, ver o log, reiniciar o app.
Primeiro acesso
- Abra o endereço que veio no e-mail:
https://portainer.SEU-IP.yhostbr.online(o IP da VPS com traços no lugar dos pontos). - No campo de usuário, use o e-mail do seu cadastro na yHost. A senha é a que veio no e-mail.
- Na primeira tela aparece a lista de ambientes. Clique no ambiente primary: ele é o Docker desta VPS.
A tela do Portainer é em inglês. Neste artigo, os nomes de menus e botões estão escritos como aparecem na tela.
Trocar a senha
- Clique no seu usuário, no canto superior direito, e escolha My account.
- No bloco Change user password, preencha Current password (a senha atual), New password (a nova) e Confirm password (a nova de novo).
- Clique em Update password.
O Portainer exige senhas com pelo menos 12 caracteres.
Primeiros passos
Conheça o que já está rodando
Em Containers você vê dois containers que fazem parte do kit: portainer-portainer-1 (o próprio Portainer) e proxy-traefik-1 (o proxy HTTPS). Não pare nem apague esses dois: sem eles, o painel e o HTTPS saem do ar.
Publicar um aplicativo com HTTPS
O proxy da VPS (Traefik) emite o certificado e encaminha as visitas para o seu aplicativo. Para isso, o aplicativo precisa estar na rede yhost e ter algumas etiquetas (labels). Use um domínio seu.
- No lugar onde você gerencia o DNS do seu domínio, crie um registro A apontando o nome escolhido (por exemplo,
app.SEU-DOMINIO.com.br) para o IP da VPS. Espere ele funcionar antes de seguir. - No Portainer, abra o ambiente primary, clique em Stacks e depois em Add stack.
- Em Name, dê um nome em letras minúsculas, sem espaços (por exemplo,
meuapp). - Em Build method, deixe Web editor e cole a configuração do seu aplicativo, como no exemplo abaixo.
- Clique em Deploy the stack.
Exemplo de stack, com um servidor web simples para teste:
services:
meuapp:
image: nginx:alpine
restart: always
networks:
- yhost
labels:
- traefik.enable=true
- traefik.http.routers.meuapp.rule=Host(`app.SEU-DOMINIO.com.br`)
- traefik.http.routers.meuapp.entrypoints=websecure
- traefik.http.routers.meuapp.tls.certresolver=le
- traefik.http.services.meuapp.loadbalancer.server.port=80
networks:
yhost:
external: true
O que trocar no exemplo:
app.SEU-DOMINIO.com.br: o nome que você apontou para a VPS.meuapp: um nome curto e diferente para cada aplicativo (ele aparece nas linhas derouterseservices).server.port=80: a porta em que o aplicativo atende dentro do container. Veja na documentação da imagem que você vai usar.
O proxy pede o certificado sozinho assim que o aplicativo sobe. Depois de 1 ou 2 minutos, abra https://app.SEU-DOMINIO.com.br.
ports: do compose). Essas portas já são do proxy, e o container novo não vai conseguir subir. Deixe o proxy cuidar do acesso pelas labels, como no exemplo.Onde roda na VPS
| Portainer | pasta /opt/yhost/portainer, container portainer-portainer-1 |
| Proxy HTTPS | pasta /opt/yhost/proxy, container proxy-traefik-1 |
| Rede do proxy | yhost (os aplicativos com HTTPS precisam estar nela) |
| Reiniciar o Portainer | cd /opt/yhost/portainer e depois docker compose restart |
Problemas comuns
A página não abre logo depois da criação
A instalação leva de 2 a 6 minutos depois que a VPS liga. Espere uns 10 minutos e tente de novo numa janela anônima. Para acompanhar, veja o log da instalação: tail -n 30 /var/log/yhost-app.log.
O navegador avisa que a conexão não é segura
O certificado HTTPS ainda não saiu. Ele costuma sair poucos minutos depois da instalação e, se o endereço da VPS demorou a ficar pronto, o sistema tenta de novo sozinho a cada 10 minutos. Espere e recarregue a página. Enquanto o aviso aparecer, não digite sua senha. Se o aviso continuar depois de 1 hora, abra um chamado.
Meu aplicativo mostra "404 page not found"
O proxy não achou nenhum aplicativo para aquele endereço. Confira se o container tem a label traefik.enable=true, se o nome na regra Host(...) está igual ao endereço que você abriu e se o container está na rede yhost.
Meu aplicativo mostra "Bad Gateway"
O proxy achou o aplicativo, mas não conseguiu falar com ele. Quase sempre é a porta errada em loadbalancer.server.port, ou o aplicativo ainda está ligando.
O certificado do meu aplicativo não sai
Confira se o domínio já aponta para o IP da VPS. Depois reinicie o proxy pelo SSH: cd /opt/yhost/proxy e docker compose restart. Para ver o motivo, use docker compose logs --tail 100 na mesma pasta.
Precisa de ajuda?
Abra um chamado em https://yhost.com.br/painel/suporte. Informe o IP da VPS e o que aconteceu. Se tiver uma mensagem de erro, mande um print.
Ainda com dúvida? A nossa equipe ajuda pelo chamado.
Abrir chamado