Repositorio onde Ficará todos os arquivos de configuraçao do nosso proxy com atualização automatica aqui assim que for mudado qualquer coisa nele.
Go to file
João Pedro Toledo Goncalves 9241a253ca . 2026-01-27 12:53:33 -03:00
.gemini docs: add zabbix monitoring instructions 2026-01-27 12:01:04 -03:00
_backup Refactor: Migrate from Nginx/ModSec to Caddy Proxy 2026-01-27 10:12:13 -03:00
.dockerignore Chore: Cleanup legacy files and update ignore rules 2026-01-27 10:16:00 -03:00
.gitignore Chore: Cleanup legacy files and update ignore rules 2026-01-27 10:16:00 -03:00
README.md . 2026-01-27 12:42:50 -03:00
docker-compose.yml . 2026-01-27 12:53:33 -03:00
dynamic_conf.yml feat: migrate reverse proxy to Traefik with SSL and JSON logging 2026-01-27 11:45:40 -03:00
traefik.yml . 2026-01-27 12:51:04 -03:00

README.md

NGINX Pathfinder Proxy (Migrated to Traefik)

Solução moderna de Proxy Reverso containerizado, agora utilizando Traefik para maior automação, suporte nativo a Docker e SSL gerenciado via Let's Encrypt.

🚀 Funcionalidades

🛡️ Traefik Proxy

  • SSL Automatizado: Let's Encrypt nativo com renovação automática.
  • Auto-Discovery: Detecta automaticamente novos containers Docker com labels específicos.
  • Dashboard: Interface visual para monitoramento de rotas e serviços.
  • Métricas: Suporte nativo a Prometheus habilitado por padrão.
  • Logs em JSON: Ideal para integração com stacks de monitoramento (ELK, Loki).

Performance & Flexibilidade

  • HTTP/2 & HTTP/3: Suporte a protocolos modernos.
  • Roteamento Dinâmico: Configuração de backends externos (VMs/LXC) via arquivo dinâmico.

🛠️ Como Trabalhar neste Repositório

Pré-requisitos

  • Docker & Docker Compose instalados.
  • Portas 80 e 443 liberadas.

1. Implantar o Proxy (Portainer/Docker Compose)

  1. Certifique-se de que os arquivos traefik.yml e dynamic_conf.yml estão presentes.
  2. Crie o arquivo de certificados: touch acme.json && chmod 600 acme.json.
  3. Inicie os containers:
    docker compose up -d
    

2. Adicionar um Novo Site (Backend Externo)

Edite o arquivo dynamic_conf.yml para adicionar novas rotas para servidores fora do Docker.

Exemplo de rota:

http:
  routers:
    meu-site:
      rule: "Host(`meu-site.com.br`)"
      service: meu-servidor
      entryPoints: [websecure]
      tls: { certResolver: letsencrypt }
  services:
    meu-servidor:
      loadBalancer:
        servers:
          - url: "http://IP_DO_SERVIDOR"

3. Adicionar uma nova Aplicação (Containers Docker)

Diferente do Nginx, com Traefik você não precisa editar o proxy para adicionar novos containers. Basta adicionar labels no docker-compose.yml da sua aplicação.

Exemplo de uma nova app:

services:
  minha-app:
    image: nginx:alpine
    networks:
      - proxy_network # DEVE estar na mesma rede do Traefik
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.minha-app.rule=Host(`app.itguys.com.br`)"
      - "traefik.http.routers.minha-app.entrypoints=websecure"
      - "traefik.http.routers.minha-app.tls.certresolver=letsencrypt"
      - "traefik.http.services.minha-app.loadbalancer.server.port=80"

networks:
  proxy_network:
    external: true # Usa a rede já criada pelo proxy

O Traefik detectará essa app assim que ela subir e criará o SSL automaticamente.

4. Dashboard do Traefik


🏗️ Visão Geral da Stack


📊 Monitoramento (Zabbix)

O Traefik está configurado para exportar métricas no formato Prometheus. Para monitorar no Zabbix:

  1. Host: Adicione o host do Traefik no Zabbix.
  2. Template: Use o template oficial "Traefik by HTTP" (que utiliza Prometheus internamente).
  3. Endpoint: As métricas estão disponíveis em http://IP_DO_PROXY:8080/metrics.
  4. Macros: Se necessário, ajuste a macro {$TRAEFIK.METRICS.PATH} para /metrics.

-mermaid +mermaid graph TD Client[Cliente Externo] -->|":80 / :443"| Traefik

subgraph DockerHost["Docker Host"]
    Traefik[Traefik Proxy]
    App1[Container A]
    App2[Container B]
end

subgraph External["Rede Externa (LXC/VM)"]
    Gitea[Gitea Server]
    Zammad[Zammad Server]
end

Traefik --> App1
Traefik --> App2
Traefik --> Gitea
Traefik --> Zammad

---

*Mantido por IT Guys*