Foi um encontro longo (quase três horas) e recheado, com o Danilo Sampaio e o Virgo (Lucas Souza) dividindo a tela: um explicando o "porquê" de cada passo enquanto o outro digitava ao vivo, com direito a chave SSH errada, queda de conexão e a plateia ativa mandando pergunta o tempo todo no chat.
Destaques
- Criação de conta Oracle Cloud e diferença entre o cadastro inicial e o "upgrade de conta" (que cobra e estorna 500 reais só para validar o cartão, sem sair do Always Free).
- Provisionamento de uma instância Compute (Ubuntu 24.04, shape
VM.Standard.E2.Micro, 1 CPU / 1GB grátis) e de um DB System MySQL Always Free, incluindo a criação da VCN, subnet e regras de Security List (ingress na porta 22, depois 80 e 443). - Deploy manual do zero: instalação do PHP 8.4 + FPM via repositório Ondřej, dependências exigidas pela documentação do Laravel, Nginx, Composer (nunca com
sudo, para não quebrar o permissionamento), Node via NVM, e ajuste de permissões da pasta/var/wwwcomchownechmod 2775para o grupowww-data. - Configuração do Nginx copiando o template oficial da documentação do Laravel e ajustando o
root, a versão do PHP-FPM e oserver_name— com o alerta de que 502 Bad Gateway quase sempre é PHP-FPM mal configurado. - Liberação de portas via IPTables (peculiaridade da Oracle, diferente do UFW usado em outras clouds), IP público reservado (para não perder o apontamento de DNS a cada restart) e SSL com Certbot/Let's Encrypt.
- Supervisor para manter os workers de fila rodando (
php artisan queue:work) e cron apontando paraartisan schedule:runa cada minuto. - Segunda rodada com Docker: Dockerfile multi-stage a partir de uma imagem PHP oficial, pensado para funcionar também em Kubernetes (sem volume da aplicação inteira, só de
storageebootstrap/cache), orquestrado comdocker compose, e Nginx como proxy reverso na frente do container — com o cuidado extra de configurarTrustProxiesno Laravel para não perder o IP de origem da requisição.
Profundidade técnica
A aula não ficou no copia-e-cola: em cada etapa (Nginx, IPTables, Dockerfile) o Danilo insistiu para que os alunos entendessem linha a linha o que estava sendo configurado, inclusive sugerindo usar uma IA para explicar arquivos de configuração desconhecidos. Entraram detalhes que só aparecem na prática, como a diferença entre instalar Composer com ou sem sudo, o motivo real de um 502 Bad Gateway, o cuidado com ARM (Ampere) versus AMD ao usar imagens Docker, e a diferença entre proxy reverso e web server explicada didaticamente. Também rolou uma conversa mais avançada sobre trade-offs de arquitetura para quem quiser evoluir esse deploy para Kubernetes ou GitHub Actions no futuro.
Faça parte do Clã
Se você quer ir além do workshop gratuito — ter acesso às gravações de todos os workshops anteriores, aos encontros técnicos semanais ao vivo, e à mentoria próxima com o Danilo, o Virgo e o Herbert — o caminho é entrar no Clã Beer and Code. É lá que esse tipo de conteúdo técnico de verdade, sem enrolação e direto da vivência de quem trabalha com Laravel no dia a dia, continua acontecendo toda semana.
Engenharia de IA virou profissão, e se aprende construindo, não assistindo. O Clã Beer and Code é o ambiente onde isso acontece ao vivo, toda semana: RAG, agentes, observabilidade e LLMOps em projetos reais, ao lado de quem já está em produção. É pago, é assinatura, e é exatamente o ambiente que estes encontros dão uma amostra.
Entrar no Clã