El TransistorContacto
Herramienta propia · Gratis y open source (MIT)

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 nuevo
docal 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 sitio
docal 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 sitio
docal import-wpress / import-dbRestaura un backup de AI1WM o un dump SQL en un sitio ya creado
docal lint <sitio>Lintea PHP de plugins/themes con el PHP del contenedor, sin instalar nada local
docal tunnel start <sitio>Expone el sitio a internet vía Cloudflare Tunnel, para compartirlo puntualmente

Lista 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.