~/beer-and-code
~ / eventos / workshop-desafio-deploy-oracle-em-15-minutos $ _
Workshop Encerrado

Workshop: Desafio Deploy Oracle em 15 Minutos

Workshop prático (o quarto de uma série sobre deploy) em que Danilo Sampaio e Lucas Souza (Virgo) colocaram uma aplicação Laravel com Filament no ar na Oracle Cloud usando exclusivamente o tier Always Free — sem letra miúda, sem cobrança surpresa. O encontro c...

Ficha do evento
formato workshop
quando 11 Jun 2025
horário 19h às 22h
status encerrado

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/www com chown e chmod 2775 para o grupo www-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 o server_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 para artisan schedule:run a 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 storage e bootstrap/cache), orquestrado com docker compose, e Nginx como proxy reverso na frente do container — com o cuidado extra de configurar TrustProxies no 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.

▪ Clã Beer and Code
Faça parte do Clã. Construa o que importa.

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ã
tocando