---
title: Operaciones del panel
description: Crea y opera tus servidores, sitios, WordPress e infraestructura desde la CLI.
sidebar:
  label: Operaciones del panel
  order: 4
---

Escrituras sobre tus propios recursos del panel. Las lecturas previas están en [Panel](/cli/panel) y la vinculación SSH en [Vincular y migrar](/cli/vincular).

Los scopes de escritura son opt-in: se eligen en el panel (**Perfil > API Keys**). Las claves de pairing aprobado traen lectura + SSH; un `403` sin scope indica cómo concederlo. `--json` nunca incluye secretos.

## Proveedores, servidores y sitios

```bash
plak panel providers [--json]
plak panel create-server --name N --provider ID --region ID --plan ID [--database T] [--php V] [--os O] [--wait SECS] [--poll SECS] [--json]
plak panel delete-server <id|nombre> [--yes] [--json]
plak panel restart-server <id|nombre> [--yes] [--json]
plak panel create-site --domain D --server <id|nombre> [--wait SECS] [--poll SECS] [--json]
plak panel delete-site <id|dominio> [--yes] [--json]
```

- `providers` muestra tus proveedores con regiones y planes (avisa si no hay ninguno).
- La creación es asíncrona (`202 busy`): la CLI espera hasta `active`/`failed` o timeout. Un fallo remoto nunca queda como éxito.
- Borrados y reinicios confirman o aceptan `--yes`. La resolución es por id o nombre/dominio exacto.

Necesitan `servers:write` / `sites:write` para mutar; los errores de paquete, límites, proveedor inválido o `503` propagan el mensaje del panel.

## WordPress

Lecturas con `user:read`; mutaciones con `sites:write`.

```bash
plak panel wp-overview <sitio> [--refresh] [--json]
plak panel wp-themes <sitio> [--refresh] [--json]
plak panel wp-plugins <sitio> [--refresh] [--json]

plak panel wp-complete-install <sitio> --title T --user U --email E --password P
plak panel wp-mark-installed <sitio>
plak panel wp-install-wpcli <sitio>
plak panel wp-xmlrpc <sitio> --block | --allow

plak panel wp-theme-activate <sitio> <slug>
plak panel wp-plugin-activate <sitio> <slug>
plak panel wp-plugin-deactivate <sitio> <slug>
plak panel wp-theme-update <sitio> <slug...>
plak panel wp-plugin-update <sitio> <slug...>
plak panel wp-theme-install <sitio> <slug> [--activate]
plak panel wp-plugin-install <sitio> <slug> [--activate]
plak panel wp-theme-delete <sitio> <slug...> [--yes]
plak panel wp-plugin-delete <sitio> <slug...> [--yes]

plak panel wp-search-replace <sitio> --search S [--replace R] [--dry-run] [--yes]
plak panel wp-cli <sitio> -- <comando...>          # WP-CLI remoto vigilado
plak panel wp-set-php <sitio> --version V [--wait S] [--poll S]
plak panel wp-set-robots <sitio> --disable | --enable
```

Los resultados parciales (`updated`/`failed`) siempre se muestran. `<sitio>` es el id o el dominio exacto. Las operaciones destructivas (borrados, `search-replace` no simulado) confirman o toman `--yes`. Detalle por comando: `plak panel <cmd> help`.

## Servidores

Lecturas con `user:read`; mutaciones con `servers:write` (más política de paquete donde el panel la exige).

```bash
plak panel service-list <servidor>
plak panel service-restart <servidor> <servicio> [--yes]   # mysql, nginx, supervisor
plak panel service-reload <servidor> <servicio> [--yes]    # mariadb, mysql, nginx, postgresql, supervisor

plak panel wpcli-install <servidor> [--wait S] [--poll S]
plak panel wpcli-uninstall <servidor> [--yes]

plak panel php-info <servidor>
plak panel php-install <servidor> --version V [--yes]
plak panel php-cli-set <servidor> --version V
plak panel opcache-enable|opcache-disable|opcache-refresh <servidor> [--yes]

plak panel firewall-list <servidor>
plak panel firewall-add <servidor> --name N --port P --type tcp|udp --rule allow|deny [--ip IP] [--yes]
plak panel firewall-del <servidor> <regla-id> [--yes]

plak panel users-list <servidor>
plak panel users-add <servidor> --name N [--sudo]          # muestra la contraseña una sola vez
plak panel users-del <servidor> <id|ploi_id> [--yes]
```

`<servidor>` es el id o el nombre exacto. Todo es síncrono en el servidor: un `200` solo vuelve cuando Ploi respondió.

## Infraestructura de sitios

Bases de datos, cronjobs, certificados, redirecciones, alias, DNS (Cloudflare), HTTP auth, caché y apps de un clic. Lecturas con `user:read`; mutaciones con `sites:write`.

```bash
plak panel db-list <sitio> / db-add <sitio> --name N --user U --password P / db-del <sitio> <id> [--yes]
plak panel cron-list <sitio> / cron-add <sitio> --command CMD [--frequency F] / cron-del <sitio> <id> [--yes]
plak panel cert-list <sitio> / cert-add <sitio> --type letsencrypt|custom [...] / cert-del <sitio> <id> [--yes]
plak panel redirect-list <sitio> / redirect-add <sitio> --from /old --to /new / redirect-del <sitio> <id> [--yes]
plak panel alias-list <sitio> / alias-add <sitio> --domain D [--cert] / alias-del <sitio> <alias> [--yes]
plak panel dns-list <sitio> / dns-add <sitio> --type T --name N --content C / dns-update <sitio> <registro> [...] / dns-del <sitio> <registro> [--yes]
plak panel authuser-list <sitio> / authuser-add <sitio> --name N --password P / authuser-del <sitio> <id> [--yes]
plak panel cache-info <sitio> / cache-enable|cache-disable|cache-flush|cache-opcache-refresh <sitio> [--yes]
plak panel app-info <sitio> / app-install <sitio> --type wordpress|nextcloud [--wait S] / app-uninstall <sitio> [--yes]
```

Los recursos remotos (registros DNS, usuarios HTTP auth) se direccionan por su id remoto; lo local por id o dominio exacto del panel. Detalle por comando: `plak panel <cmd> help` (por ejemplo `plak panel db-add help`).
