Skip to content

Latest commit

 

History

History
125 lines (84 loc) · 4.74 KB

File metadata and controls

125 lines (84 loc) · 4.74 KB

🚀 SetupForcoder — Infraestrutura Multi-Cliente com Traefik + Docker

License: MIT Ubuntu Debian Docker Laravel Traefik Cloudflare PRs Welcome


Este repositório monta uma infraestrutura multi-cliente em uma VPS usando Docker e Traefik como proxy reverso com SSL automático (Let’s Encrypt). Cada cliente tem seu próprio domínio e uma stack isolada (ex.: Laravel + PHP-FPM + Nginx). Opcionalmente, os projetos podem usar um MySQL central com phpMyAdmin.

DNS → VPS (80/443) → Traefik → Nginx do projeto → PHP-FPM do projeto → (opcional) MySQL central

📖 Veja um exemplo em funcionamento (SQLite).


🌍 Compatibilidade & Filosofia

O SetupForcoder foi pensado para atender tanto projetos legados quanto arquiteturas modernas:

  • Legado (LAMP-like) → Projetos ainda em /home/<cliente>/<projeto>/src, com dumps SQL diretos e assets em /storage/public/.
  • Moderno (Laravel em containers) → Provisionamento via Docker Compose, stack isolada, Nginx + PHP-FPM, MySQL central opcional, Traefik com SSL automático.

Essa compatibilidade garante que empresas em transição possam adotar o SetupForcoder sem quebrar fluxos já existentes.


⚡ Instalação em 1 comando

Na sua VPS Ubuntu/Debian (como root):

curl -fsSL https://raw.githubusercontent.com/BrunoHoinacki/setup-forcoder/main/scripts/install.sh | sudo bash

Isso irá baixar o toolbox e iniciar o menu interativo para provisionar toda a infra.

📖 Guia detalhado: docs/setup.md


⚙️ Principais opções do toolbox

  1. Setup inicial da VPS (Traefik + redes + opcional MySQL/PMA)
  2. Provisionar cliente/projeto (docs/mkclient.md)
  3. Remover projeto (delclient.sh)
  4. Remover TODOS os projetos (delallclients.sh)
  5. Utilitários Docker do projeto (generaldocker.sh)
  6. Utilitários Git do projeto
  7. Backup do projeto (mkbackup.sh)
  8. Recriar/sobe Traefik (docker compose up -d em /opt/traefik)
  9. Logs do Traefik (tail -f /opt/traefik/logs/access.json)

🔶 Cloudflare (opcional)

O setup suporta Cloudflare:

  • Com API Token → usa DNS-01 (pode manter proxy laranja ligado).
  • Sem token (HTTP-01) → deixe o DNS cinza (DNS only) até emitir o certificado.

📖 Como criar o token: docs/token_cloudflare.md


🛡️ Checklist de Segurança

Após provisionar a infra ou um novo projeto, valide rede, SSH e containers expostos.

📖 Guia completo: docs/security_verify.md


📦 Scripts inclusos

  • scripts/setup.sh — Setup inicial da VPS (docs/setup.md)
  • scripts/mkclient.sh — Provisionamento de projetos (docs/mkclient.md)
  • scripts/delclient.sh — Remove um projeto
  • scripts/delallclients.sh — Remove todos os projetos
  • scripts/generaldocker.sh — Utilitários Docker/Compose
  • scripts/generalgit.sh — Utilitários Git
  • scripts/mkbackup.sh — Backup de projetos (ZIP + dump SQL)
  • scripts/mkrbackup.sh — Mantém dumps disponíveis para rsync incremental
  • scripts/resetsetup.sh — Reset da infra base

🗺️ Roadmap

  • Templates de queue/cron (Horizon/Supervisord)
  • Rate limit & security headers padrão por serviço
  • Backups automáticos (auto_backup.sh + setup-cron-backups.sh)
  • Script complementar de rsync → para rodar em máquina local/servidor externo, sincronizando apenas alterações a partir de /opt/rbackup.
  • Logs centralizados (Loki/Promtail + Grafana)
  • Redis / Meilisearch opcionais

📖 Documentação complementar


📜 Licença

Distribuído sob a MIT License. Veja o arquivo LICENSE.txt.