[{"data":1,"prerenderedAt":221},["ShallowReactive",2],{"seo-verification":3,"blog-rustdesk-escritorio-remoto-self-hosted-vps-ma-es":6,"promo-bar-likely":207},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-rustdesk-escritorio-remoto-self-hosted-vps-ma-es",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":30,"intro":33,"sections":34,"ctaTitle":152,"ctaBody":153,"ctaButton":154,"ctaUrl":155,"relatedPosts":156},222,"rustdesk-escritorio-remoto-self-hosted-vps",{"fr":12,"en":13,"ar":14,"es":10},"rustdesk-bureau-distance-self-hosted-vps","rustdesk-replace-teamviewer-with-a-self-hosted-server","rustdesk-استبدال-teamviewer-بخادم-self-hosted","RustDesk: escritorio remoto self-hosted en un VPS","Aloja tu propio servidor RustDesk en VPS para sesiones de escritorio remoto privadas — sin intermediarios, con TLS y control de acceso completo.",13,2,false,"2026-08-04T00:00:00+00:00","2026-09-29T14:40:44+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},7,"Autoalojamiento","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Frustdesk-bureau-distance-self-hosted-vps-poster.svg","TeamViewer y AnyDesk cobran licencias anuales elevadas mientras enrutan cada sesión a través de su propia infraestructura. RustDesk, open source bajo licencia AGPL-3.0, invierte ese modelo: despliegas dos servicios ligeros en tu VPS, el tráfico nunca sale de tu infraestructura y el cifrado extremo a extremo está garantizado por diseño, no por contrato. Esta guía cubre la arquitectura completa, el despliegue paso a paso, la configuración TLS, el control de acceso y el mantenimiento continuo.",[35,39,50,53,56,81,84,87,90,142,146,149],{"type":36,"title":37,"body":38},"h2","Por qué alojar tu propio servidor de escritorio remoto","Las soluciones comerciales como TeamViewer y AnyDesk comparten una característica: cada conexión pasa por su infraestructura de relay, independientemente de la distancia real entre las dos máquinas. Esto genera tres problemas concretos.\n\n**Privacidad y cumplimiento.** Los datos fluyen a través de servidores de terceros sujetos a la legislación de su país de alojamiento. Para proveedores IT que acceden a sistemas financieros, médicos o legales, esta delegación implícita puede invalidar un acuerdo de cumplimiento (RGPD, ISO 27001, HIPAA). RustDesk self-hosted elimina esta dependencia: el tráfico cifrado permanece en tu datacenter.\n\n**Historial de vulnerabilidades.** TeamViewer ha sufrido varios incidentes notables — en 2016, miles de cuentas fueron comprometidas mediante credential stuffing; en 2024, una intrusión en el entorno corporativo fue atribuida a un grupo APT. Estos incidentes no implican al protocolo, pero destacan que depender de un tercero significa depender de su superficie de ataque.\n\n**Coste de licencias.** TeamViewer Business parte de más de 600 €\u002Faño para un solo usuario simultáneo. AnyDesk es más barato pero sigue un modelo por puesto. RustDesk self-hosted reduce el coste al de tu VPS — un ServOrbit desde 99 DH\u002Fmes cubre a todo un equipo.",{"type":40,"title":41,"items":42},"ul","Lo que te ofrece RustDesk self-hosted",[43,44,45,46,47,48,49],"**Sin límites de sesión** — sin licencia por puesto ni cuota de conexiones simultáneas; tu servidor atiende a tantos usuarios como tu VPS pueda manejar","**Cifrado extremo a extremo garantizado** — curva Ed25519 para intercambio de claves, ChaCha20-Poly1305 para el flujo de vídeo y las entradas de teclado\u002Fratón: la clave pública de tu servidor está integrada en el cliente, haciendo la interceptación estructuralmente imposible","**Latencia controlada** — tu relay está en el datacenter de tu elección; al elegir la región más cercana a tus equipos, el RTT es consistentemente inferior al de un relay SaaS genérico en Europa del Norte","**Clientes multiplataforma** — Windows, macOS, Linux, Android, iOS y navegador web desde un único servidor central, sin configuraciones diferentes por plataforma","**IDs personalizados** — asigna identificadores memorables (`SERVIDOR-DB-01`, `LAPTOP-ALICIA`) en lugar de los IDs numéricos aleatorios generados por defecto","**API REST integrada** — RustDesk Server Pro expone una API REST para consultar el estado de conexiones, listar máquinas registradas y automatizar el aprovisionamiento mediante tus propios scripts o un CMDB","**Registro de auditoría completo** — cada conexión, desconexión y transferencia de archivo queda registrada con marca temporal en el servidor; imprescindible en entornos con requisitos de trazabilidad",{"type":36,"title":51,"body":52},"Arquitectura RustDesk: hbbs y hbbr","RustDesk separa el rol de señalización del rol de relay en dos procesos distintos.\n\n**hbbs — el servidor de rendez-vous (servidor de ID).** Es el punto de entrada. Cada cliente RustDesk que arranca se registra con un identificador numérico (o personalizado). Cuando se inicia una conexión, ambas partes contactan `hbbs` para intercambiar direcciones IP e intentar una conexión P2P directa. `hbbs` escucha en los puertos TCP 21115 y 21116, así como UDP 21116.\n\n**hbbr — el servidor relay.** Si la conexión P2P falla (NAT simétrico, firewall restrictivo), el tráfico se retransmite a través de `hbbr`. El relay solo ve flujos cifrados — no puede leer el contenido. `hbbr` escucha en el puerto TCP 21117.\n\n**Flujo de una conexión.** La máquina A contacta `hbbs` vía TCP para obtener la dirección de la máquina B. Ambas máquinas intentan una conexión UDP directa (hole punching). Si tiene éxito, `hbbr` no interviene y la latencia es mínima. Si falla, `hbbs` proporciona a A la dirección de `hbbr` para retransmitir — con un ligero overhead de pocos milisegundos. En la práctica, P2P funciona en la mayoría de redes domésticas y empresariales que no tienen NAT estricto.",{"type":36,"title":54,"body":55},"Requisitos del VPS","**Recursos mínimos.** 1 GB de RAM y 1 vCPU son suficientes para hasta unas 20 conexiones simultáneas en modo relay. Más allá, el factor limitante es el ancho de banda: un flujo Full HD se codifica a aproximadamente 2-4 Mbit\u002Fs. Para 50 conexiones simultáneas en relay, planifica 2 vCPU, 2 GB de RAM y un VPS con un rendimiento garantizado de al menos 200 Mbit\u002Fs.\n\n**Puertos a abrir.**\n- TCP 21115 — negociación NAT\n- TCP 21116 — registro de ID\n- UDP 21116 — hole punching P2P\n- TCP 21117 — flujo retransmitido\n- TCP 21118 y 21119 — cliente web (opcional)\n- TCP 443 — interfaz admin HTTPS (si se activa)\n\n**Software requerido.** Docker Engine 24+ y Docker Compose v2 (comando `docker compose` sin guion). Se recomienda un dominio o subdominio para exponer la interfaz de administración detrás de TLS — de lo contrario las conexiones de administración usan HTTP en claro.",{"type":57,"title":58,"steps":59},"steps","Desplegar RustDesk Server en un VPS",[60,63,66,69,72,75,78],{"title":61,"body":62},"Crear el directorio y docker-compose.yml","Crea la estructura de directorios y el archivo Compose:\n\n```bash\nmkdir -p \u002Fopt\u002Frustdesk\u002Fdata\ncd \u002Fopt\u002Frustdesk\n```\n\nContenido de `docker-compose.yml`:\n\n```yaml\nservices:\n  hbbs:\n    image: rustdesk\u002Frustdesk-server:latest\n    command: hbbs\n    ports:\n      - \"21115:21115\"\n      - \"21116:21116\"\n      - \"21116:21116\u002Fudp\"\n      - \"21118:21118\"\n    volumes:\n      - .\u002Fdata:\u002Froot\n    restart: unless-stopped\n    depends_on:\n      - hbbr\n\n  hbbr:\n    image: rustdesk\u002Frustdesk-server:latest\n    command: hbbr\n    ports:\n      - \"21117:21117\"\n      - \"21119:21119\"\n    volumes:\n      - .\u002Fdata:\u002Froot\n    restart: unless-stopped\n```\n\nEl volumen compartido `.\u002Fdata` garantiza que `hbbs` y `hbbr` usen el mismo par de claves generado en el primer arranque.",{"title":64,"body":65},"Iniciar los contenedores y recuperar las claves","Inicia los dos servicios en segundo plano:\n\n```bash\ndocker compose up -d\n```\n\nEn el primer arranque, `hbbs` genera automáticamente un par de claves Ed25519 en `.\u002Fdata\u002F`. Recupera la clave pública:\n\n```bash\ncat \u002Fopt\u002Frustdesk\u002Fdata\u002Fid_ed25519.pub\n```\n\nAnota este valor — lo necesitarás para configurar cada cliente. Sin él, los clientes se negarán a conectarse a tu servidor. Guarda también `id_ed25519` (clave privada) en un lugar seguro; si se ve comprometida, todos los clientes necesitarán reconfiguración con una clave nueva.",{"title":67,"body":68},"Configurar el firewall (puertos TCP\u002FUDP)","Abre los puertos necesarios en `ufw`:\n\n```bash\nufw allow 21115\u002Ftcp\nufw allow 21116\u002Ftcp\nufw allow 21116\u002Fudp\nufw allow 21117\u002Ftcp\nufw allow 21118\u002Ftcp\nufw allow 21119\u002Ftcp\nufw reload\n```\n\nSi tu VPS también está protegido por un firewall de red en el panel ServOrbit, aplica las mismas reglas allí. Luego verifica que los puertos estén escuchando:\n\n```bash\nss -tlnup | grep -E '2111[5-9]'\n```",{"title":70,"body":71},"Exponer la interfaz admin detrás de un reverse proxy HTTPS","RustDesk Server Pro proporciona una interfaz web de administración en el puerto 21114 (HTTP). Para exponerla en HTTPS, añade nginx como reverse proxy.\n\nVhost nginx mínimo para `rustdesk.tu-dominio.com`:\n\n```nginx\nserver {\n    listen 443 ssl;\n    server_name rustdesk.tu-dominio.com;\n    ssl_certificate \u002Fetc\u002Fletsencrypt\u002Flive\u002Frustdesk.tu-dominio.com\u002Ffullchain.pem;\n    ssl_certificate_key \u002Fetc\u002Fletsencrypt\u002Flive\u002Frustdesk.tu-dominio.com\u002Fprivkey.pem;\n    location \u002F {\n        proxy_pass http:\u002F\u002F127.0.0.1:21114;\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n    }\n}\n```\n\nObtén el certificado con Certbot:\n\n```bash\ncertbot --nginx -d rustdesk.tu-dominio.com\n```",{"title":73,"body":74},"Configurar los clientes desktop (Windows, macOS, Linux)","Descarga el cliente RustDesk desde [rustdesk.com](https:\u002F\u002Frustdesk.com) y abre la configuración de red (icono de engranaje → Red). Introduce:\n- **Servidor ID**: dirección IP o nombre de dominio de tu VPS\n- **Servidor Relay**: mismo valor\n- **Clave**: el valor copiado de `id_ed25519.pub`\n\nConfirma. El indicador de conexión se pone verde si el servidor es accesible y la clave es correcta. A partir de ese momento, ningún intento de conexión pasará por los servidores públicos de RustDesk.",{"title":76,"body":77},"Configurar los clientes móviles (Android e iOS)","En Android, instala RustDesk desde Play Store o directamente mediante APK (útil si Play Store está restringido en algunos dispositivos empresariales). En iOS, RustDesk está disponible en App Store.\n\nEn ambos casos, ve a Ajustes → Servidor ID\u002FRelay e introduce los mismos valores que para el cliente desktop: dirección del servidor y clave pública. La clave puede compartirse mediante código QR desde la interfaz admin de RustDesk Server Pro, lo que simplifica el despliegue masivo en flotas móviles.",{"title":79,"body":80},"Probar una conexión extremo a extremo","En dos máquinas configuradas con tu servidor, anota el identificador mostrado en la máquina destino. Desde la máquina origen, introduce ese identificador en el campo de conexión de RustDesk e inicia la sesión.\n\nVerifica en los logs que la conexión pasa por tu infraestructura:\n\n```bash\ndocker logs rustdesk-hbbr-1 --tail 20\n```\n\nUna línea con `[RELAY]` indica que se usa el relay (NAT estricto). Una línea `[DIRECT]` o la ausencia de líneas en los logs de `hbbr` indica una conexión P2P directa — ideal para la latencia.",{"type":36,"title":82,"body":83},"Configurar TLS para conexiones seguras","Por defecto, los flujos RustDesk están cifrados extremo a extremo con ChaCha20-Poly1305 — no se requiere TLS adicional para las sesiones de escritorio remoto en sí. Sin embargo, la interfaz de administración (puerto 21114) y la API REST funcionan en HTTP en claro si no las proteges.\n\n**Opción 1: Certbot + nginx (recomendado).** Como se muestra en el paso 4, nginx actúa como reverse proxy frente al puerto 21114. Certbot renueva el certificado automáticamente mediante un timer systemd.\n\n**Opción 2: Traefik como edge proxy.** Si ya usas Traefik para otros servicios en el mismo VPS, simplemente añade labels al servicio `hbbr` en Compose:\n\n```yaml\nlabels:\n  - \"traefik.enable=true\"\n  - \"traefik.http.routers.rustdesk-admin.rule=Host(`rustdesk.tu-dominio.com`)\"\n  - \"traefik.http.routers.rustdesk-admin.tls.certresolver=letsencrypt\"\n  - \"traefik.http.services.rustdesk-admin.loadbalancer.server.port=21114\"\n```\n\n**Lo que permanece sin cifrar por diseño.** Los puertos 21115-21119 no usan HTTPS porque emplean sus propios protocolos binarios. El cifrado de esos flujos lo gestionan las claves Ed25519 y ChaCha20 — no TLS. No intentes forzar HTTPS en estos puertos.",{"type":36,"title":85,"body":86},"Activar autenticación y control de acceso","La versión open source de RustDesk Server no tiene interfaz de autenticación nativa — cualquier cliente que conozca tu clave pública puede intentar conectarse a una máquina registrada (si esa máquina acepta la petición). RustDesk Server Pro (auto-alojable, gratuito hasta 20 usuarios) añade varias capas de control.\n\n**Cuentas de usuario y grupos.** La interfaz de administración permite crear cuentas con nombre, agruparlas y definir políticas de acceso por grupo. Un técnico puede tener acceso solo a las máquinas del grupo 'Infraestructura', no a los equipos de RRHH.\n\n**Aprobación de conexión.** Cada máquina puede configurarse para requerir confirmación física del usuario local antes de permitir el control remoto — el cuadro de diálogo 'Aceptar conexión' aparece en la pantalla de la máquina destino.\n\n**Registro de auditoría completo.** Cada evento (conexión iniciada, aceptada, rechazada, duración, transferencia de archivo) queda registrado con la identidad del iniciador y la marca temporal. Los logs son exportables como CSV desde la interfaz de administración.\n\n**Deshabilitar los servidores públicos.** Para forzar el uso exclusivo de tu servidor — sin fallback a los relays públicos de RustDesk si no está disponible — añade la opción `--key` con tu clave privada al comando `hbbs`. Los clientes configurados con tu clave pública rechazarán cualquier servidor alternativo, incluido el servidor oficial de RustDesk.",{"type":36,"title":88,"body":89},"Optimizar la calidad de imagen y el rendimiento","RustDesk usa por defecto su propio códec de vídeo (VP9 o H.264 según la plataforma) con calidad adaptativa basada en el ancho de banda detectado. Varios parámetros permiten ajustar este comportamiento.\n\n**Calidad de imagen.** En la configuración del cliente, 'Calidad de imagen' puede ajustarse a Baja, Media, Alta o Personalizada. En entornos empresariales sobre LAN o un VPS cercano geográficamente, 'Alta' es utilizable sin saturar el ancho de banda. En una conexión móvil o de larga distancia, 'Media' reduce la latencia percibida.\n\n**Códec.** RustDesk selecciona automáticamente el mejor códec disponible: H.265 si ambos extremos tienen codificación\u002Fdecodificación por hardware, VP9 en caso contrario. En un VPS sin GPU, VP9 es el predeterminado — razonable en uso de CPU para flujos ofimáticos. Evita forzar H.264 en un VPS con poco CPU si tienes múltiples conexiones simultáneas.\n\n**P2P vs relay.** Una conexión P2P directa es siempre preferible: evita el salto adicional a través de `hbbr`, eliminando el intermediario y reduciendo el tiempo de ida y vuelta. Si tus usuarios se conectan desde la misma LAN que la máquina destino, verifica que el firewall no bloquee las conexiones UDP directas entre hosts — RustDesk intenta P2P primero antes de recurrir al relay.",{"type":91,"title":92,"headers":93,"rows":99},"comparison","RustDesk vs TeamViewer vs AnyDesk vs Guacamole",[94,95,96,97,98],"Criterio","RustDesk (self-hosted)","TeamViewer","AnyDesk","Guacamole",[100,105,111,117,123,127,132,137],[101,102,103,103,104],"Modelo de alojamiento","Self-hosted (VPS)","SaaS (nube del proveedor)","Self-hosted (servidor web)",[106,107,108,109,110],"Coste de licencia","Gratis (OSS) \u002F Pro de pago","Desde 600 €\u002Faño\u002Fusuario","Desde 180 €\u002Faño\u002Fusuario","Gratis (Apache 2.0)",[112,113,114,115,116],"Protocolo","Propietario cifrado (Ed25519 + ChaCha20)","Propietario (híbrido RDP\u002FVNC)","DeskRT (códec propietario)","VNC \u002F RDP \u002F SSH vía navegador",[118,119,120,121,122],"Conexión P2P","Sí (con fallback relay)","No (siempre vía nube)","Sí (con fallback)","No (proxy central)",[124,125,125,125,126],"Clientes móviles nativos","Android + iOS nativos","Solo navegador",[128,129,130,130,131],"Registro de auditoría","Sí (Pro)","Sí (Business+)","Limitado (logs de servidor brutos)",[133,129,134,135,136],"API REST","Sí (de pago)","No (API de terceros)","Sí (REST parcial)",[138,139,140,141,139],"Soberanía de datos","Total (tu infraestructura)","Nula (nube TeamViewer)","Parcial (relay AnyDesk)",{"type":143,"title":144,"body":145},"tip","Despliegue enterprise: aprovisionamiento masivo de clientes","RustDesk admite configuración automática mediante un archivo de configuración integrado en el ejecutable del cliente. Al compilar o empaquetar para tu flota, coloca un archivo `RustDesk2.toml` en el directorio de configuración con tus valores:\n\n```toml\nrelay-server = \"tu-vps.ejemplo.com\"\nid-server = \"tu-vps.ejemplo.com\"\nkey = \"\u003Ctu_clave_pública_ed25519>\"\n```\n\nEn Windows, este archivo va en `%APPDATA%\\RustDesk\\config\\`. En Linux, en `~\u002F.config\u002Frustdesk\u002F`. Puedes desplegar esta configuración mediante tu herramienta de gestión de flota (Ansible, Intune, Puppet) sin interacción del usuario. La clave pública y la dirección del servidor están precargadas — el usuario instala RustDesk y queda directamente conectado a tu infraestructura.",{"type":36,"title":147,"body":148},"Monitorizar y mantener el servidor","**Métricas Docker.** Monitoriza el consumo de recursos en tiempo real con `docker stats` — un pico de CPU en `hbbr` indica un número inusualmente alto de conexiones retransmitidas. Si la media supera el 80% durante varios minutos, considera aumentar el vCPU o verificar si conexiones bloqueadas están generando bucles de reintento.\n\n**Rotación de logs.** Los contenedores escriben en stdout\u002Fstderr, gestionados por el demonio Docker. Añade una política de rotación en `docker-compose.yml` para evitar que los logs llenen el disco:\n\n```yaml\nlogging:\n  driver: \"json-file\"\n  options:\n    max-size: \"10m\"\n    max-file: \"5\"\n```\n\n**Actualización de la imagen.** RustDesk publica nuevas versiones regularmente. Para actualizar con mínimo tiempo de inactividad percibido:\n\n```bash\ndocker compose pull\ndocker compose up -d\n```\n\nDocker reemplaza los contenedores uno a uno. Las sesiones en curso a través de `hbbr` se cortan durante el reinicio (pocos segundos) — prefiere las actualizaciones en horas de menor actividad. Las claves en `.\u002Fdata\u002F` se conservan — no se requiere reconfiguración de clientes.",{"type":36,"title":150,"body":151},"Resolver problemas comunes","**Conexión imposible, ID no encontrado.** Verifica que `hbbs` está ejecutándose (`docker ps`) y que los puertos TCP 21115-21116 y UDP 21116 son accesibles desde el exterior: `nc -vz \u003Cip-vps> 21116`. Si el test falla, el firewall de red (ufw o regla del VPS) está bloqueando el puerto.\n\n**'Clave incorrecta' en el cliente.** La clave mostrada en el cliente no coincide con `id_ed25519.pub` en el servidor. Vuelve a leer el valor exacto con `cat \u002Fopt\u002Frustdesk\u002Fdata\u002Fid_ed25519.pub` y reconfigura el cliente — ojo con los espacios o saltos de línea al copiar y pegar.\n\n**Siempre en modo relay, nunca P2P.** El hole punching UDP falla si una de las dos redes usa NAT simétrico (habitual en algunas redes móviles 4G\u002F5G y VPN corporativas). No es un bug — el relay funciona correctamente, con una latencia ligeramente mayor. Para forzar el diagnóstico, compara los logs de `hbbr` con y sin VPN activo en el lado del cliente.\n\n**Interfaz de administración inaccesible.** El puerto 21114 no está expuesto en el `docker-compose.yml` base — hay que añadirlo explícitamente o acceder a través del reverse proxy nginx del paso 4. Comprueba también que estás usando la imagen `rustdesk-server-pro` (la versión open source no tiene interfaz de administración).\n\n**Actualización de imagen sin regenerar claves.** Tras `docker compose pull && docker compose up -d`, verifica que `.\u002Fdata\u002Fid_ed25519.pub` no ha cambiado — no debería, pero la corrupción del volumen puede en raras ocasiones regenerar el par. Si la clave ha cambiado, todos los clientes necesitarán reconfiguración.","¿Listo para desplegar tu servidor RustDesk?","Los planes VPS de ServOrbit incluyen una IP pública dedicada, un firewall configurable y Docker listo para usar — todo lo que necesitas para alojar tu propia infraestructura de escritorio remoto en minutos.","Desplegar RustDesk en VPS","\u002Fvps-cloud",[157,181,198],{"id":158,"slug":159,"slugs":160,"title":164,"excerpt":165,"readTime":166,"views":167,"isPinned":19,"noindex":19,"publishedAt":168,"updatedAt":169,"category":170,"categories":176,"featuredImage":30,"bgImage":31,"posterImage":178,"relatedSolution":179},131,"desplegar-vaultwarden-en-un-vps",{"fr":161,"en":162,"ar":163,"es":159},"deploy-vaultwarden-vps","self-host-your-password-manager-deploy-vaultwarden-on-vps","استضف-مدير-كلمات-المرور-بنفسك-انشر-vaultwarden-على-vps","Vaultwarden en VPS: gestor de contraseñas autoalojado","Autoaloja Vaultwarden en un VPS: contraseñas ilimitadas, compatibilidad con Bitwarden, bóvedas de equipo y TOTP, con coste mensual fijo y menos de 50 MB de RAM.",15,3,"2026-06-24T00:00:00+00:00","2026-11-04T16:30:25+00:00",{"id":171,"name":172,"slug":173,"color":174,"icon":175},8,"Seguridad y monitorización","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[177],{"id":171,"name":172,"slug":173,"color":174,"icon":175},"\u002Fblog\u002Fcovers\u002Fdeploy-vaultwarden-vps-poster.svg",{"categorySlug":175,"appSlug":180},"vaultwarden",{"id":182,"slug":183,"slugs":184,"title":188,"excerpt":189,"readTime":190,"views":191,"isPinned":19,"noindex":19,"publishedAt":192,"updatedAt":193,"category":194,"categories":195,"featuredImage":30,"bgImage":31,"posterImage":197,"relatedSolution":30},204,"certificados-tls-cortos-automatizar-con-acme",{"fr":185,"en":186,"ar":187,"es":183},"certificats-tls-courts-automatiser-acme","short-tls-certificates-automate-with-acme","شهادات-tls-القصيرة-أتمتة-التجديد-بـ-acme","Certificados TLS cortos: automatizar con ACME","Let's Encrypt pasa a 64 días el 10 de febrero de 2027 y luego a 45. Calendario, ARI y checklist para certbot, acme.sh, Caddy, Traefik y nginx.",12,1,"2026-08-01T00:00:00+00:00","2026-10-23T13:27:09+00:00",{"id":171,"name":172,"slug":173,"color":174,"icon":175},[196],{"id":171,"name":172,"slug":173,"color":174,"icon":175},"\u002Fblog\u002Fcovers\u002Fcertificats-tls-courts-automatiser-acme-poster.svg",{"id":199,"slug":200,"slugs":201,"title":205,"excerpt":206,"readTime":167,"views":191,"isPinned":19,"noindex":207,"publishedAt":208,"updatedAt":209,"category":210,"categories":216,"featuredImage":30,"bgImage":31,"posterImage":218,"relatedSolution":219},136,"instalar-docker-en-un-vps",{"fr":202,"en":203,"ar":204,"es":200},"demarrer-avec-docker-vps","installing-docker-on-a-vps-a-clean-base-for-your-apps","تثبيت-docker-على-vps-قاعدة-نظيفة-لتطبيقاتك","Instalar Docker en un VPS: una base limpia para sus apps","Prepare un VPS Docker fiable: aislamiento, Compose, volúmenes, red y buenas prácticas para desplegar sin improvisar.",true,"2026-02-10T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":211,"name":212,"slug":213,"color":214,"icon":215},4,"Desarrollo","developpement","bg-warning\u002F10 text-warning","dev",[217],{"id":211,"name":212,"slug":213,"color":214,"icon":215},"\u002Fblog\u002Fcovers\u002Fdemarrer-avec-docker-vps-poster.svg",{"categorySlug":215,"appSlug":220},"docker-starter",1794270656469]