Pular para o conteúdo

Sage Sail

Ambiente local com Docker para projetos Roots Bedrock e Sage. Adapta o Laravel Sail ao WordPress: WP-CLI e Acorn no lugar do Artisan, nginx e PHP-FPM.

Papel
Autor
Onde
Projeto pessoal, open source (MIT)
Período
11/2025 – atual
Stack
PHP · Docker · nginx · PHP-FPM · WP-CLI · Acorn

Desafio

O Laravel Sail resolve o ambiente Docker de um projeto Laravel. Eu queria o mesmo para Roots Bedrock e Sage, mas a pilha muda: no lugar do Artisan entram o WP-CLI e o Acorn, o site sai da pasta web/ e o .env usa os nomes de variável do Bedrock.

  • Funciona no macOS, no Windows (WSL2) e no Linux.
  • Fora o Docker, a máquina só precisa de PHP 8.3+ para rodar o instalador.
  • Só atende Bedrock: fora de um projeto Bedrock, o install se recusa a rodar.

Abordagem

Fiz um fork do Laravel Sail e reconstruí o pacote para o WordPress. A imagem serve o site com nginx e PHP-FPM sob o supervisord e já vem com WP-CLI, Composer, Node, npm, pnpm, yarn e bun.

  • O PHP-FPM roda com o UID da sua máquina, então o que o container grava continua editável fora dele.
  • Com o Mailpit, um mu-plugin leva os e-mails do WordPress para o catcher, e só age dentro do container.
  • 13 serviços opcionais, de MySQL e Redis a Meilisearch e MinIO.
  • sage-sail publish copia os arquivos Docker para o projeto, para quem quiser assumir a configuração.

Resultado

Um comando leva o projeto do checkout ao site rodando. Ele escreve o compose.yaml, ajusta o .env, gera os salts que faltam, sobe os containers, instala o WordPress e um tema Sage com os assets compilados. No fim, mostra a URL, o login de admin e o tema.

  • Rodar o install de novo é seguro: WordPress já instalado e tema existente ficam como estão.
  • O CI instala Bedrock, WordPress e Sage do zero em PHP 8.3, 8.4 e 8.5.
  • Corrigi aqui o healthcheck do RustFS e mandei a mesma correção para o Laravel Sail: o PR #828, aceito.
  • Publicado no Packagist, licença MIT.

composer require jeffersonrucu/sage-sail --dev && ./vendor/bin/sage-sail install

Contato

Quer trocar uma ideia? Bora conversar.

Gosto de conversar sobre IA aplicada, PHP e arquitetura de software, seja para trocar experiência, falar de um projeto ou de uma proposta.

joliveiracode@gmail.com

// download iniciado

Currículo a caminho.

O PDF está baixando. Se quiser trocar uma ideia sobre IA aplicada, PHP ou arquitetura, é só chamar.