Docal
Levantá sitios WordPress locales en minutos: Docker, Traefik y HTTPS automático, sin Docker Desktop y sin certificados que fallan. Como Lando o DDEV, pero pensado específicamente para WordPress arriba de WSL2.
Por qué lo hicimos
Nos cansamos de perder media tarde cada vez que había que levantar un WordPress local para un proyecto nuevo: instalar, configurar HTTPS a mano, pelearnos con MySQL 8. Docal es ese proceso convertido en un solo comando — la misma herramienta que usamos nosotros para levantar cada sitio que tomamos.
Qué te resuelve
Un contenedor por sitio
Cada sitio vive en https://<nombre>.localhost con su propio contenedor y un certificado TLS válido (mkcert) — nada de warnings de seguridad en el navegador.
Cero Docker Desktop
Corre nativo en WSL2. Si Docker no está instalado o no está corriendo, el CLI lo resuelve solo antes de cada comando.
Importás como ya lo tenés
Backups de All-in-One WP Migration (.wpress), o dump SQL + uploads. Docal hace el search-replace de dominio, incluida la data serializada.
WP-CLI y lint sin instalar nada local
docal wp y docal lint corren adentro del contenedor del sitio, con la versión de PHP real de ese sitio — no la que tengas vos.
Compartilo si hace falta
docal tunnel expone un sitio por Cloudflare Tunnel para que un cliente lo vea o para probar webhooks, sin dejarlo expuesto para siempre.
Se arregla solo cuando se rompe
Rebuild sin cache, fix de permalinks y REST API, permisos de wp-content — cada uno es un solo comando, no una tarde perdida.
Instalación
- ·Docker Engine nativo en WSL2 (no hace falta Docker Desktop)
- ·mkcert, para los certificados TLS locales
- ·Python 3, para generar el wp-config.php
Si Docker no está instalado o no está corriendo, cualquier comando de Docal lo resuelve solo antes de arrancar.
git clone https://github.com/andreeesh/docal.git
cd docal
sudo ln -sf "$(pwd)/scripts/docal" /usr/local/bin/docal
docal create # wizard interactivo
docal create myblog --title="Mi Blog"Comandos
docal createWizard interactivo o creación directa de un sitio nuevodocal list / info <sitio>Lista todos los sitios o el detalle de uno (URL, credenciales, estado)docal start / stop / restartPrende, apaga o reinicia los contenedores de un sitiodocal rebuildReconstruye la imagen desde cero después de cambiar PHP, upload limit, etc.docal wp <sitio> <comando>Cualquier comando de WP-CLI, corriendo con la versión de PHP real del sitiodocal import-wpress / import-dbRestaura un backup de AI1WM o un dump SQL en un sitio ya creadodocal lint <sitio>Lintea PHP de plugins/themes con el PHP del contenedor, sin instalar nada localdocal tunnel start <sitio>Expone el sitio a internet vía Cloudflare Tunnel, para compartirlo puntualmenteLista completa de comandos y opciones en el README del repo.
Pensado para tu máquina, no para internet
Docal prioriza comodidad sobre seguridad — como Lando, DDEV o Valet. Todos los sitios usan admin / admin, las contraseñas de base de datos quedan en texto plano en el .env de cada sitio, y el dashboard de Traefik no tiene autenticación. Ninguno de estos puntos es un problema en tu propia máquina detrás de tu propio firewall — se vuelve un problema si exponés esos puertos a internet. Si necesitás compartir un sitio, usá docal tunnel con un dominio descartable.
Gratis y open source
Licencia MIT: lo usás, lo modificás y lo distribuís sin pedirnos permiso. Si te sirve para tu propio flujo de trabajo con WordPress, es todo tuyo.