Seção 6: Deploy da Infraestrutura Core (Traefik + Cloudflared + Authelia)¶
A stack core é a base de rede: Traefik (proxy reverso), Cloudflared (túnel) e Authelia (autenticação 2FA). Tudo consolidado em docker/stacks/core/docker-compose.yml.
Deploy no Portainer¶
- Acesse o Portainer em
https://portainer.seudominio.com - Stacks > Add Stack > Nome:
core - Selecione Web editor
- Cole o conteúdo de
docker/stacks/core/docker-compose.yml - Em Environment variables, clique em Advanced mode > Load variables from .env file
- Caminho na VM:
/opt/portainer_stack_envs/core.env - Adicione manualmente os segredos:
CLOUDFLARE_API_TOKEN_FROM_VAULT,CLOUDFLARE_TUNNEL_TOKEN_FROM_VAULT,AUTHELIA_STORAGE_POSTGRES_PASSWORD_FROM_VAULT - Deploy the stack
O que cada serviço faz¶
- Traefik: Proxy reverso HTTPS. Detecta containers via labels. Redireciona HTTP→HTTPS automaticamente.
- Cloudflared: Túnel para Cloudflare. Não precisa abrir portas no roteador.
- Authelia: SSO com 2FA. Protege todos os serviços via middleware
authelia-forwardauth@docker. - Authelia DB: Postgres para dados de sessão e 2FA do Authelia.
Pré-requisitos¶
- Playbooks Ansible executados:
- Rede Docker
proxyeinternal_servicescriadas pelo playbook de rede. - Token do túnel Cloudflare gerado no dashboard Cloudflare Zero Trust.
- API Token DNS Cloudflare (para desafio Let's Encrypt DNS-01).