Traefik é um proxy reverso moderno e um load balancer que torna a implantação de microsserviços fácil. Quando combinado com Docker, torna-se uma ferramenta poderosa para gerenciar o tráfego das suas aplicações hospedadas em um VPS. Neste guia, você aprenderá como hospedar o Traefik em um VPS, focando especialmente no processo de instalação e configurações básicas.
Passo 1: Escolha um Provedor de VPS
Antes de começar, você precisa selecionar um provedor de VPS. Aqui estão algumas opções principais que atendem a desenvolvedores e homelabbers:
| Provedor | Preço | Recursos | Link |
|---|---|---|---|
| Contabo VPS | 5,99 EUR/mês | 200 GB SSD, 8 GB RAM, 3 núcleos | Contabo |
| Hetzner Cloud | 4,15 EUR/mês | Planos flexíveis, ótimo desempenho, escalável | Hetzner |
| DigitalOcean | 6 USD/mês | Interface simples, excelente documentação | DigitalOcean |
| Vultr | 6 USD/mês | 100% SSD, múltiplas localidades | Vultr |
| Linode | 5 USD/mês | SSD de alto desempenho, API robusta | Linode |
Você pode encontrar uma comparação completa de VPS em selfhostvps.com/en/best/.
Passo 2: Configure sua Instância de VPS
Depois de selecionar seu provedor de VPS, crie uma nova instância com as seguintes especificações:
- Sistema Operacional: Ubuntu 20.04 LTS
- Acesso SSH: Configure chaves SSH para acesso seguro.
- IP Público: Anote o endereço IP público do seu VPS.
Conecte-se ao seu servidor usando SSH:
ssh user@seu_vps_ip
Substitua user pelo seu nome de usuário e seu_vps_ip pelo endereço IP real.
Passo 3: Instale o Docker
Você precisa do Docker para rodar o Traefik. Execute os seguintes comandos para instalar o Docker:
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install -y docker-ce
Verifique a instalação do Docker:
docker --version
Passo 4: Instale o Docker Compose
O Docker Compose é essencial para gerenciar aplicações Docker com múltiplos containers. Instale-o com:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Confirme a instalação verificando a versão:
docker-compose --version
Passo 5: Configure o Traefik
Crie um diretório para sua configuração do Traefik e navegue até ele:
mkdir traefik && cd traefik
Dentro do diretório traefik, crie um arquivo docker-compose.yml:
version: "3.7"
services:
traefik:
image: "traefik:v2.5"
command:
- "--api.insecure=true"
- "--providers.docker=true"
- "--entrypoints.web.address=:80"
ports:
- "80:80" # HTTP
- "8080:8080" # Dashboard do Traefik
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
Passo 6: Inicie o Traefik
Execute o seguinte comando na pasta traefik para iniciar o serviço:
docker-compose up -d
Você pode acessar o dashboard do Traefik em http://seu_vps_ip:8080.
Passo 7: Adicionando suas aplicações
Para rotear o tráfego pelo Traefik, é necessário rotular seus containers Docker.
Por exemplo, se você tem uma aplicação web rodando em um container,modifique seu docker-compose.yml com as seguintes labels:
version: '3.7'
services:
myapp:
image: sua-imagem-da-aplicacao
labels:
- "traefik.enable=true"
- "traefik.http.routers.myapp.rule=Host(`seu-dominio.com`)"
- "traefik.http.services.myapp.loadbalancer.server.port=80"
Certifique-se de substituir sua-imagem-da-aplicacao pela imagem Docker da sua aplicação e seu-dominio.com pelo seu domínio real.
Perguntas Frequentes Sobre Hospedagem de Traefik
1. Traefik é adequado para aplicações pequenas?
Sim, o Traefik é altamente flexível e pode escalar de pequenas para grandes aplicações com facilidade. Sua capacidade de configurar rotas automaticamente com base em labels do Docker o torna ideal para desenvolvedores que hospedam múltiplas aplicações em um VPS. Isso melhora seu fluxo de trabalho enquanto gerencia o tráfego das aplicações. Além disso, seu dashboard integrado permite fácil monitoramento, sendo conveniente para configurações menores sem a complexidade de soluções maiores.
2. Quão seguro é o Traefik para ambientes de produção?
O Traefik foi projetado pensando na segurança, oferecendo recursos como suporte a HTTPS através da integração com Let’s Encrypt. Quando configurado corretamente, proporciona canais de comunicação seguros. No entanto, assegure-se de usar autenticação forte para o dashboard e configure suas redes de forma segura. Atualizações regulares pelo time do Traefik também ajudam a proteger contra vulnerabilidades.
3. Posso usar o Traefik com outras ferramentas de orquestração?
Com certeza! O Traefik não se limita ao Docker. Ele também funciona perfeitamente com Kubernetes, Docker Swarm e outras ferramentas de orquestração. Essa flexibilidade permite que desenvolvedores familiarizados com esses ecossistemas integrem o Traefik sem grandes mudanças. Quando usado no Kubernetes, ele gerencia os recursos de ingress, simplificando o roteamento de tráfego externo para os serviços dentro do cluster.
Em resumo, hospedar o Traefik em um VPS é um processo simples quando dividido em passos claros. Ao usar o Docker, você não só se beneficia de uma interface fácil de usar para suas aplicações, mas também de uma maneira eficiente de gerenciar o tráfego com flexibilidade. Feliz hospedagem!