Setup Forcoder
O SetupForcoder é um auto-instalador 100% gratuito e open-source, criado para simplificar o deploy de aplicações modernas em uma VPS Ubuntu. Com ele, você pode rodar múltiplos projetos Laravel em containers Docker, todos atrás de um Traefik com certificados SSL automáticos. Desenvolvido pela comunidade Forcoder. Se utilizar, dê os créditos! 🚀
#🚀 SetupForcoder — Infraestrutura Multi-Cliente com Traefik + Docker
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
- 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)
#🔶 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 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
#🗺️ 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
- Exemplo em funcionamento (SQLite)
- Setup inicial da VPS
- Provisionamento de projetos (mkclient)
- Token Cloudflare
- Checklist de segurança
- Vincular GitHub via SSH
#📜 Licença
Distribuído sob a MIT License.
Veja o arquivo LICENSE.txt.