Si estás en Arch Linux (o cualquier distro liviana) y no querés ensuciar tu entorno con PHP, Composer o Node.js, Laravel Sail te permite trabajar completamente dentro de contenedores Docker. Solo necesitás tener Docker y Docker Compose v2 instalados en tu host.
🐋 1. Instalar y habilitar Docker
sudo pacman -S docker docker-compose
sudo systemctl enable --now docker
sudo usermod -aG docker $USER
# Cerrá sesión y volvé a entrar para aplicar el grupo docker
En Compose v2 se usa docker compose (sin guion). Cualquiera de los dos paquetes (docker-compose o docker-compose-plugin) sirve.
⚙️ 2. Crear un nuevo proyecto Laravel con Sail
Podés generar el proyecto directamente con el script oficial de Laravel, que ya configura Sail:
curl -s https://laravel.build/miapp | bash
cd miapp
./vendor/bin/sail up -d
Esto crea el entorno completo con PHP, Composer, Node, MySQL y Redis dentro de contenedores.
Elegir servicios opcionales
Podés personalizar qué servicios incluye el entorno ejecutando:
curl -s "https://laravel.build/miapp?with=pgsql,redis,mailpit" | bash
Servicios comunes: mysql, pgsql, mariadb, redis, meilisearch, mailpit, selenium.
💻 3. Comandos básicos con Sail
Usá ./vendor/bin/sail para todo:
# Artisan
./vendor/bin/sail php artisan migrate
# Composer
./vendor/bin/sail composer require laravel/sanctum
# Node / Vite
./vendor/bin/sail npm install
./vendor/bin/sail npm run dev
Alias opcional para acortar:
alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'
🔧 4. Agregar Sail a un proyecto Laravel existente
Si ya tenés un proyecto Laravel sin Sail, podés agregarlo sin necesidad de tener PHP instalado localmente.
docker run --rm -u "$(id -u):$(id -g)" -v "$PWD":/app -w /app composer:2 \
composer require laravel/sail --dev
docker run --rm -v "$PWD":/var/www/html -w /var/www/html \
laravelsail/php84-composer:latest php vendor/bin/sail install
./vendor/bin/sail up -d
🧩 5. Problemas comunes
- Permisos en carpetas:
sudo chown -R $USER:$USER storage bootstrap/cache - Puertos ocupados:
Editádocker-compose.ymlo el archivo.envy cambiáAPP_PORT,FORWARD_DB_PORT, etc. - Variables de entorno:
Revisá el archivo.envgenerado y ajustá los valores según tus servicios (DB_*,MAIL_*, etc.).
✅ Conclusión
Con Laravel Sail podés desarrollar aplicaciones modernas sin instalar nada fuera de Docker.
En Arch, esto es ideal para mantener tu sistema limpio y tu entorno de desarrollo totalmente reproducible.
Si querés, puedo dejarte el comando exacto para un stack típico (Postgres + Redis + Mailpit) listo para levantar con docker compose. 🚀


Dejá una respuesta