Para qualquer modificação, atualização ou melhoria, sinta-se à vontade para retornar a esta página para revisar ou personalizar o código conforme desejar.
Para instalar o traefik você precisa primeiramente criar uma rede e depois subir a stack.
Se ainda não criou uma rede para trabalhar com o traefik, poderá executar o comando abaixo ou criar diretamente no portainer.
docker network create --driver=overlay traefik_public
Poderá criar uma REDE com qualquer nome de sua preferência, neste exemplo estou utilizando o nome traefik_public
Em seguida poderá copiar o arquivo abaixo para fazer o deploy do Traefik.
version: '3.8'
# mais info: <https://youtu.be/o7tBbYy-5I4>
services:
traefik:
image: traefik:v2.11
command:
- --providers.docker=true
- --entrypoints.web.address=:80
- --entrypoints.websecure.address=:443
- --providers.docker.exposedbydefault=false
- --providers.docker.swarmMode=true
#defina a mesma rede que você criou para o traefik
- --providers.docker.network=traefik_public
- --providers.docker.endpoint=unix:///var/run/docker.sock
# Config para SSL Lets Encrypt
# altere para seu e-mail
- --certificatesresolvers.le.acme.httpchallenge.entrypoint=web
- [email protected]
- --certificatesresolvers.le.acme.storage=/letsencrypt/acme.json
- --certificatesresolvers.le.acme.tlschallenge=true
# Global HTTP -> HTTPS
#- --entrypoints.web.http.redirections.entryPoint.to=websecure
#- --entrypoints.web.http.redirections.entryPoint.scheme=https
#- --api
#- --log.level=DEBUG
ports:
- "80:80"
#- "8080:8080" # porta do painel do traefik, caso queira ver todas as rotas.
- "443:443"
volumes:
- traefik_certificates:/letsencrypt
- "/var/run/docker.sock:/var/run/docker.sock:ro"
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.role == manager
networks:
- traefik_public
volumes:
traefik_certificates:
external: true
networks:
traefik_public:
external: true
O traefik é bem completo e tem varias maneiras de utilizar, essa é a mais simples. Com essa configuração você poderá utilizar em suas aplicações para definir domínios com SSL entre outros recursos do traefik.