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).
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.
Na sua VPS Ubuntu/Debian (como root):
curl -fsSL https://raw.githubusercontent.com/BrunoHoinacki/setup-forcoder/main/scripts/install.sh | sudo bashIsso irá baixar o toolbox e iniciar o menu interativo para provisionar toda a infra.
📖 Guia detalhado: docs/setup.md
- Setup inicial da VPS (Traefik + redes + opcional MySQL/PMA)
- Provisionar cliente/projeto (docs/mkclient.md)
- Remover projeto (
delclient.sh) - Remover TODOS os projetos (
delallclients.sh) - Utilitários Docker do projeto (
generaldocker.sh) - Utilitários Git do projeto
- Backup do projeto (
mkbackup.sh) - Recriar/sobe Traefik (
docker compose up -dem/opt/traefik) - Logs do Traefik (
tail -f /opt/traefik/logs/access.json)
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
Após provisionar a infra ou um novo projeto, valide rede, SSH e containers expostos.
📖 Guia completo: docs/security_verify.md
scripts/setup.sh— Setup inicial da VPS (docs/setup.md)scripts/mkclient.sh— Provisionamento de projetos (docs/mkclient.md)scripts/delclient.sh— Remove um projetoscripts/delallclients.sh— Remove todos os projetosscripts/generaldocker.sh— Utilitários Docker/Composescripts/generalgit.sh— Utilitários Gitscripts/mkbackup.sh— Backup de projetos (ZIP + dump SQL)scripts/mkrbackup.sh— Mantém dumps disponíveis pararsyncincrementalscripts/resetsetup.sh— Reset da infra base
- 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
- Exemplo em funcionamento (SQLite)
- Setup inicial da VPS
- Provisionamento de projetos (mkclient)
- Token Cloudflare
- Checklist de segurança
- Vincular GitHub via SSH
Distribuído sob a MIT License.
Veja o arquivo LICENSE.txt.