Skip to content
Plak
Esc
↑↓navigate↵open⌘Jpreview
On this page

Dashboard local

Qué es el dashboard de Plak CLI, cómo abrirlo y cómo usar cada una de sus secciones.

El dashboard es la página web local que Plak CLI levanta en tu propia máquina para ver y operar tus sitios sin escribir comandos. No es el panel alojado en cloud.plak.io: el dashboard vive en https://plak.localhost (con el puerto que tengas configurado si no es el estándar) y solo responde desde tu máquina.

Comprobado con Plak CLI v0.4.66

Piensa en el dashboard como la cara amable de los comandos: por debajo ejecuta lo mismo que plak list, plak add, plak wp o plak snapshot, pero con botones, listas y formularios. Todo lo que hagas aquí también puedes hacerlo desde la terminal, y al revés.

Abrir el dashboard

Prepara la pila local

Si es la primera vez, instala el binario y la pila (FrankenPHP, MariaDB, Mailpit, WP-CLI) como se explica en Instalación:

curl -fsSL https://plak.sh/install | bash
plak install
plak status

plak status verifica dependencias y rutas sin cambiar nada. Si algo falta, plak install lo instala o te guía con el gestor de tu sistema.

Abre la página

open https://plak.localhost

Si cambiaste los puertos con plak ports, la URL lleva el sufijo configurado (por ejemplo https://plak.localhost:8453). El dashboard, Adminer y Mailpit solo responden desde tu máquina (y desde el rango privado de WSL2); por red local o Tailscale tienen sus propias reglas (ver Servicios y red).

Si no carga

  1. Ejecuta plak status para ver qué servicio falla.
  2. Prueba plak enable y después plak reload para regenerar el servidor y recargar la configuración.
  3. Si el navegador avisa de certificado, ejecuta plak trust (sin sudo) con Caddy en marcha.

Estos tres comandos también están explicados en Servicios y red.

Qué ves al entrar

La página principal es una lista de tus sitios locales: los mismos que muestra plak list. Cada fila indica el nombre, el dominio (https://<nombre>.localhost), el tipo (WordPress o estático), si está preparado para agentes (agent-ready) y el tamaño en disco.

  • El tamaño se calcula bajo demanda con el botón de refrescar: recorrer decenas de sitios tarda unos segundos, así que la primera carga muestra — hasta que lo pides.
  • El botón login de cada fila genera un enlace único de WordPress (igual que plak login), sin pedirte la contraseña.
  • Los botones de la cabecera abren inbox (correo capturado), import (crear un sitio desde un backup) y los enlaces a Adminer (https://db.plak.localhost) y Mailpit (https://mail.plak.localhost).

Cada sitio tiene una vista de detalle con enlace propio (https://plak.localhost/#/site/<nombre>). Ábrela para operar ese sitio sin tocar los demás.

Ficha del sitio

La parte superior de la ficha resume lo esencial: tipo, ruta (~/Plak/Sites/<nombre>.localhost), URL, tamaño, versión de WordPress y número de plugins cuando es un WordPress. La versión y el conteo de plugins se cargan solo cuando abres la ficha (usan WP-CLI y son más lentos que el listado).

Desde aquí puedes:

  • Abrir el sitio en el navegador.
  • Generar un enlace de acceso (login) para entrar a /wp-admin sin contraseña: caduca en 15 minutos y es de un solo uso.
  • Saltar a Adminer o Mailpit, o filtrar el inbox por ese sitio.
  • Crear, restaurar, borrar y descargar snapshots (ver Backups más abajo).

Plugins y temas

La pestaña de componentes lista los plugins y temas del sitio con nombre, versión, estado y actualizaciones disponibles.

  • Qué hace cada botón: activar, desactivar, actualizar y borrar. Funciona igual que plak wp <sitio> plugin|theme ..., con el mismo PHP y la misma seguridad.
  • La comprobación de actualizaciones es voluntaria: abrir la lista nunca consulta a WordPress.org (sería lento). Pulsa el botón de comprobar cuando quieras saber si hay versiones nuevas.
  • Protecciones: no puedes desactivar un plugin must-use ni borrar el tema activo. El dashboard lo impide en la interfaz y la API lo rechaza aunque se intente a mano.
  • Lo que no hace: instalar plugins o temas nuevos desde aquí. Para instalar, usa el wp-admin del sitio o plak wp <sitio> plugin install <slug> desde la terminal.

Esta pestaña solo tiene sentido en sitios WordPress. En sitios estáticos (--plain) no hay nada que listar.

Usuarios, cron y consola

La ficha incluye herramientas del día a día que evitan abrir wp-admin o recordar sintaxis de WP-CLI:

  • Users: lista cada cuenta con sus roles y genera un enlace único para cualquiera de ellas, no solo para administradores. Cada enlace caduca y se consume al primer uso, igual que plak login <sitio> <usuario>.
  • Cron: lista los eventos programados de WordPress (su hook, próxima ejecución y recurrencia) y ejecuta uno concreto o todos los vencidos. Es la versión visual de wp cron event list|run.
  • Console: ejecuta WP-CLI dentro del sitio con argumentos pasados como datos, nunca como orden de shell. Equivale a escribir plak wp <sitio> <comando...>, con la salida y el código de salida visibles en la página.

Diagnósticos: logs y tráfico

Cada sitio tiene un panel de diagnósticos con dos pestañas. Sirven para responder a “¿por qué falla?” y “¿qué está recibiendo?” sin abrir ficheros a mano.

Logs

Lee tres fuentes, siempre solo la cola de cada fichero (un sitio con cientos de megas de log no bloquea la página):

Fuente Qué es Dónde vive
php Log de errores PHP compartido, filtrado por este sitio ~/Plak/Logs/errors.log
debug WP_DEBUG del sitio <sitio>/public/wp-content/debug.log
access Peticiones HTTP del servidor local <sitio>/logs/caddy.log

Puedes filtrar por nivel mínimo (all, warning, errores fatales…) y por texto libre. Las repeticiones consecutivas iguales se agrupan con un contador, y las trazas de pila se pueden desplegar. Equivale a plak log [sitio] [-f] desde la terminal.

Tráfico

Agrega el access log del sitio en ventanas de 1h, 24h, 7d o todo el historial, y muestra:

  • Resumen: peticiones, errores (4xx y 5xx), bytes servidos, latencia media, p95 y máxima.
  • Clasificación por tipo: páginas, assets (CSS, JS, imágenes, fuentes), admin (/wp-admin, login), AJAX/REST (admin-ajax.php, /wp-json) y cron.
  • Rutas más visitadas y peticiones más lentas.

Inbox: el correo de tus sitios

El inbox lee el correo capturado por Mailpit, globalmente o filtrado por sitio. Un mensaje se atribuye a un sitio por sus direcciones, asunto o fragmento.

  • Abrir un mensaje lo marca como leído; también puedes marcar leído/no leído y borrar (todo pasa por la API de Mailpit).
  • El cuerpo HTML se sanea y las imágenes cid: incrustadas se resuelven a data: URIs. Se muestra en un marco aislado que bloquea scripts y, hasta que lo permitas, también las imágenes remotas.
  • Para ver todo el buzón con búsqueda avanzada, el enlace Mailpit abre https://mail.plak.localhost.

Esto responde a “¿qué email mandó mi sitio al registrar un usuario o al comprar algo?” sin configurar SMTP real. En desarrollo ningún correo sale a internet: todo cae aquí.

Backups e importación

El panel de backups lista las snapshots del sitio y permite crearlas, restaurarlas, borrarlas y descargarlas. Crear, restaurar e importar corren como trabajos en segundo plano: la página responde al instante y puedes recargarla sin perder el trabajo; el estado se consulta hasta que termina.

  • Snapshot: punto local de archivos + base de datos en private/snapshots/<id>. Los sitios estáticos solo capturan archivos. Restaurar guarda antes una snapshot de seguridad del estado actual.
  • Descargar: exporta la snapshot a un ZIP portable con sus partes internas (files.tar.gz y database.sql). Es una copia de archivo, no un backup válido para importar: plak import exige un árbol WordPress con wp-content.
  • Importar: el botón import de la cabecera sube un ZIP, tar.gz o tar con un WordPress de un solo sitio y un SQL reconocible (incluye exportaciones de Plak, Local y hostings) y crea un sitio nuevo. Rechaza rutas fuera del destino, SQL ambiguo o multisitio, igual que plak import.

Los detalles y límites (qué se versiona, qué pasa al fallar) están en Sitios locales.

Crear y borrar sitios desde el dashboard

El botón de crear pide el nombre, el tipo (WordPress o estático) y si quieres preparación para agentes. La creación manual nunca depende de herramientas opcionales: siempre expresa la elección con --agent o --no-agent, en lugar de heredar el valor por defecto de la CLI (que depende de si wp-mcp-cli está instalado).

  • Un nombre duplicado o reservado se informa con un mensaje claro, no con un error genérico.
  • Borrar pide confirmación y equivale a plak delete <nombre> --force: quita directorio, base de datos, directiva Caddy y entradas de hosts.
  • Tras crear o borrar varios sitios, el dashboard recarga el servidor una sola vez en lugar de una por sitio.

Si la preparación de agentes falla después de crear el sitio, el sitio se conserva y el error indica cómo repararlo con plak agent <sitio> (ver MCP).

Seguridad del dashboard

El dashboard es una superficie administrativa y se protege en dos capas:

  1. Solo tu máquina: Caddy solo sirve el dashboard, Adminer y Mailpit a la máquina local (direcciones loopback, rango privado de WSL2 y espacio de la tailnet cuando Tailscale está activo). Desde fuera no responden.
  2. Mismo origen + token: la API (api.php) repite la comprobación en PHP, exige Origin/Referer del mismo host en cada mutación y pide un token CSRF por instalación (guardado en ~/Plak/cache/dashboard-token) en cada POST. Sin ese token, la petición se rechaza aunque llegue desde tu navegador.

La cabecera Host nunca se usa como autenticación. Las descargas sensibles (exportar una snapshot) también exigen el token.

Cuándo usar el dashboard y cuándo la terminal

Tarea Dashboard Terminal
Ver todos los sitios de un vistazo ✅ Lista con tamaños y estado plak list [--totals]
Crear o borrar un sitio ✅ Formulario con mensajes claros plak add / plak delete
Activar o actualizar un plugin ✅ Lista con estados y updates plak wp <sitio> plugin ...
Entrar a wp-admin sin contraseña ✅ Botón login plak login <sitio>
Ver logs o tráfico ✅ Filtros y agrupación plak log [sitio]
Leer correos de pruebas ✅ Inbox + Mailpit — (solo web)
Snapshots e imports ✅ Trabajos en segundo plano plak snapshot / plak import
Migraciones push/pull — plak pull / plak push
Remotos, hosts, claves SSH — plak remote / plak hosts / plak sshkey
Conexión con el panel — plak connect / plak panel ...
Automatizar en scripts o CI — Comandos con --yes y --json

Continúa en Sitios locales para el flujo diario desde la terminal, o en MCP para preparar tus sitios para agentes.

Was this page helpful?