Como configurar Traefik com Docker na VPS com SSL para varios sites. Meta descricao: aprenda a usar Traefik + Docker para hospedar multiplos dominios com HTTPS automatico via Lets Encrypt, com exemplos praticos de docker compose.

Se voce quer rodar varios sites e apps na mesma VPS com HTTPS automatico, o Traefik funciona como um reverse proxy que detecta containers Docker e publica cada servico por dominio ou subdominio. Ele ainda cuida dos certificados do Lets Encrypt sem trabalho manual. Neste guia, voce vai criar uma base simples e segura: rede proxy, Traefik com armazenamento de certificados e exemplos de stacks para multiplos dominios.
Por que usar Traefik com Docker
Traefik integra com Docker e cria rotas automaticamente a partir de labels. Beneficios: 1) HTTPS automatico via Lets Encrypt, 2) menos configuracao manual do que Nginx/Apache, 3) padrao repetivel para adicionar novos sites, 4) isolamento por container e organizacao por redes. Em resumo: 1 Traefik por VPS e varios containers publicados por dominio.
🤖 Proximo passo: automacoes e Agentes de IA com n8n
Com a base de Traefik + SSL pronta, fica facil colocar n8n em producao para webhooks e integracoes que exigem HTTPS. Para evoluir rapido e com projetos praticos, recomendo a Formacao Agentes de IA (n8n) da Hora de Codar: 11+ cursos, 20h+, 21+ projetos e comunidade ativa. Link: https://app.horadecodar.com.br/lp/formacao-agentes-de-ia-n8n?utm_source=blog
Pre requisitos e preparacao
1) VPS Linux com Docker e Docker Compose v2. 2) DNS apontando para o IP da VPS: registros A para seus dominios e subdominios. 3) Portas 80 e 443 liberadas no firewall. Exemplo UFW: sudo ufw allow 80/tcp e sudo ufw allow 443/tcp. 4) Crie uma rede Docker dedicada ao proxy: docker network create proxy. 5) Estrutura de pastas sugerida: /opt/traefik para o proxy, /opt/stacks para seus projetos. Lembre de persistir o arquivo acme.json do Lets Encrypt.
Video recomendado: instalando e publicando n8n na VPS com Traefik e HTTPS
Ver o fluxo fim a fim ajuda muito: subir container, apontar DNS e publicar com Traefik. Assista: https://www.youtube.com/embed/VCKzXFk_XjM?si=eOBTMrjZNPj3q07Z
Subindo o Traefik com Lets Encrypt
Crie /opt/traefik/docker-compose.yml com o servico do Traefik, entrypoints web (80) e websecure (443), redirect de HTTP para HTTPS e o certificatesresolver le para Lets Encrypt (desafio HTTP-01). Exemplo de compose (use email real):
services:
traefik:
image: traefik:v3.1
containername: traefik
restart: always
command:
– –api.dashboard=true
– –providers.docker=true
– –providers.docker.exposedbydefault=false
– –entrypoints.web.address=:80
– –entrypoints.websecure.address=:443
– –entrypoints.web.http.redirections.entrypoint.to=websecure
– –entrypoints.web.http.redirections.entrypoint.scheme=https
– –certificatesresolvers.le.acme.email=SEU[email protected]
– –certificatesresolvers.le.acme.storage=/letsencrypt/acme.json
– –certificatesresolvers.le.acme.httpchallenge=true
– –certificatesresolvers.le.acme.httpchallenge.entrypoint=web
ports:
– ’80:80′
– ‘443:443’
volumes:
– /var/run/docker.sock:/var/run/docker.sock:ro
– ./letsencrypt:/letsencrypt
networks:
– proxy
networks:
proxy:
external: true
Crie as pastas e permissao do arquivo: mkdir -p /opt/traefik/letsencrypt; touch /opt/traefik/letsencrypt/acme.json; chmod 600 /opt/traefik/letsencrypt/acme.json. Suba: cd /opt/traefik && docker compose up -d. Se precisar debugar, veja os logs: docker logs -f traefik.
Publicando multiplos dominios com labels
Para cada app, conecte o container na rede proxy e adicione labels do Traefik com a regra de Host e TLS. Exemplo 1, site estatico em sitea.com:
services:
sitea:
image: nginx:alpine
container_name: sitea
restart: always
volumes:
– ./html:/usr/share/nginx/html:ro
networks:
– proxy
labels:
– traefik.enable=true
– traefik.http.routers.sitea.rule=Host(sitea.com) || Host(www.sitea.com)
– traefik.http.routers.sitea.entrypoints=websecure
– traefik.http.routers.sitea.tls=true
– traefik.http.routers.sitea.tls.certresolver=le
networks:
proxy:
external: true
Exemplo 2, app em app.seudominio.com (porta interna 3000, ajuste conforme seu app):
services:
appb:
image: traefik/whoami
container_name: appb
restart: always
networks:
– proxy
labels:
– traefik.enable=true
– traefik.http.routers.appb.rule=Host(app.seudominio.com)
– traefik.http.routers.appb.entrypoints=websecure
– traefik.http.routers.appb.tls=true
– traefik.http.routers.appb.tls.certresolver=le
– traefik.http.services.appb.loadbalancer.server.port=80
networks:
proxy:
external: true
Checklist para cada novo site: DNS ok, container na rede proxy, labels com regra de Host e certresolver le. Evite publicar portas no host quando for expor via Traefik.
💻 Infra recomendada: VPS da Hostinger
A VPS da Hostinger funciona bem com Docker, Traefik e ate n8n pre-instalado. Da para comecar pequeno, escalar quando necessario e testar com 30 dias de garantia. Link com desconto: https://www.hostinger.com.br/horadecodar — cupom HORADECODAR. Para varios sites com Traefik, comece com 4 a 8 GB de RAM e ajuste conforme o uso.
Dicas de seguranca e troubleshooting
1) Dashboard: evite expor publicamente; use tunel SSH ou protecao por autenticacao. 2) Certificado nao emite: verifique DNS, porta 80 liberada e logs do Traefik; cuidado com rate limit se apagar acme.json repetidas vezes. 3) Proteja o acme.json com volume persistente e backup. 4) Nao exponha portas sem necessidade no host, para nao burlar o proxy. 5) Se usar Cloudflare com proxy laranja ou precisar wildcard, avalie DNS-01 no Traefik.
Como configurar Traefik com Docker na VPS para gerenciar vários sites com SSL?
Primeiro, instale o Docker e Docker Compose em sua VPS. Em seguida, crie um arquivo docker-compose.yml incluindo Traefik e seus serviços (seus sites), cada um em um container separado. No serviço do Traefik, configure as volumes para acessar o Docker socket e os diretórios de certificados. Adicione as labels nos containers dos seus sites para Traefik gerenciar os domínios e gerar certificados SSL automaticamente via Let’s Encrypt. Por fim, suba os containers usando ‘docker-compose up -d’.
O Traefik consegue gerar certificados SSL automaticamente para meus sites?
Sim. O Traefik possui integração nativa com Let’s Encrypt. Basta configurar as opções de ACME no Traefik, definir um e-mail válido e as labels corretas nos containers dos sites. Traefik irá solicitar e renovar automaticamente os certificados SSL para todos os domínios configurados, garantindo segurança e automação.
É possível adicionar novos sites facilmente depois da configuração inicial do Traefik?
Sim, um dos grandes benefícios do Traefik com Docker é a facilidade de escala. Para adicionar um novo site, basta criar um novo serviço no seu docker-compose.yml, definir as labels de Traefik com o novo domínio, e subir o container. O Traefik reconhece automaticamente e começa a rotear e proteger o novo domínio com SSL, sem necessidade de reconfiguração manual extensiva.
Conclusao
Voce aprendeu a configurar Traefik com Docker na VPS e ativar HTTPS automatico via Lets Encrypt para multiplos dominios. O fluxo vencedor: preparar DNS e portas, criar a rede proxy, subir o Traefik com acme.json persistido e publicar cada app com labels de Host e TLS. A partir disso, novos sites entram no ar de forma previsivel e segura.

