[{"data":1,"prerenderedAt":152},["ShallowReactive",2],{"seo-verification":3,"blog-autoalojar-unleash-en-vps-feature-flags-open-source-es":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-autoalojar-unleash-en-vps-feature-flags-open-source-es",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":27,"featuredImage":29,"bgImage":30,"posterImage":31,"relatedSolution":32,"intro":35,"sections":36,"ctaTitle":88,"ctaBody":89,"ctaButton":90,"ctaUrl":91,"relatedPosts":92},380,"autoalojar-unleash-en-vps-feature-flags-open-source",{"fr":12,"en":13,"ar":14,"es":10},"self-host-unleash-vps","self-host-unleash-feature-flags-vps","استضافة-unleash-على-vps-feature-flags-مفتوحة-المصدر","Autoalojar Unleash en un VPS: feature flags open source","Despliega Unleash en tu VPS ServOrbit: plataforma de feature flags open source (Apache-2.0) para rollouts graduales y seguros sin redesplegar tu aplicación.",7,0,false,"2026-09-28T00:00:00+00:00","2026-09-29T14:40:42+00:00",{"id":17,"name":23,"slug":24,"color":25,"icon":26},"Autoalojamiento","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[28],{"id":17,"name":23,"slug":24,"color":25,"icon":26},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fself-host-unleash-vps-poster.svg",{"categorySlug":33,"appSlug":34},"desarrollo","unleash","Unleash es una plataforma de gestión de funcionalidades open source (Apache-2.0) que separa el lanzamiento del código de la activación de features para los usuarios. Un toggle en la UI activa una función para el 10 % de los usuarios, apunta a un segmento específico o mata un mal release en segundos — sin hotfix, sin rollback. En un VPS ServOrbit, dos contenedores Docker — la app Node.js y PostgreSQL 17 — son toda la infraestructura, con menos de 256 MB de RAM.",[37,41,51,54,76,79,82,85],{"type":38,"title":39,"body":40},"h2","Por qué usar un gestor de feature flags","El despliegue continuo asume una separación clara entre entregar un binario y activar una funcionalidad para los usuarios. Sin esa separación, cada release es binario: o todos ven el cambio, o nadie. Cuando algo falla, la única recuperación es un rollback completo del despliegue.\n\nUnleash rompe este acoplamiento. Haces merge, despliegas, y activas la función manualmente o mediante rollout gradual configurable. Si algo va mal, desactivas el toggle en segundos — no hay pipeline de despliegue involucrado.\n\nUnleash open source (Apache-2.0) cubre ambos casos con proyectos, entornos, estrategias de activación y log de auditoría completo.",{"type":42,"title":43,"items":44},"ul","Qué ganas con Unleash autoalojado",[45,46,47,48,49,50],"Toggles en tiempo real — activa o desactiva una función sin redesplegar tu aplicación.","Rollouts graduales — abre al 5 %, 20 %, 50 % de tus usuarios con targeting por userId, email o atributo personalizado.","Entornos separados — estados de flags independientes para desarrollo, staging y producción.","SDK multilenguaje — clientes oficiales para Node.js, Python, Go, Java, .NET, Ruby y PHP.","Log de auditoría completo — cada cambio registra el autor, timestamp y motivo.","Actualizaciones sin downtime — `docker compose pull && docker compose up -d`.",{"type":38,"title":52,"body":53},"Requisitos","Unleash está diseñado para funcionar en un VPS modesto. La configuración mínima recomendada es 1 vCPU y 1 GB de RAM — la app Node.js consume alrededor de 86 MB en reposo, PostgreSQL 17 unos 46 MB, para un total de aproximadamente 132 MB en condiciones de prueba. En producción con tráfico SDK activo, planifica 256 MB de margen.\n\nNo se necesita dominio para empezar — Unleash escucha en loopback y es accesible vía túnel SSH. Para acceso permanente desde tus aplicaciones y pipelines CI, adjunta un dominio desde tu panel de ServOrbit: nginx lo proxificará en HTTPS.",{"type":55,"title":56,"steps":57},"steps","Desplegar Unleash en tu VPS ServOrbit",[58,61,64,67,70,73],{"title":59,"body":60},"Pedir desde el Marketplace de ServOrbit","Desde tu área de cliente de ServOrbit, instala Unleash en un clic desde el Marketplace: selecciona la categoría Desarrollo, elige Unleash y confirma tu pedido. El stack Docker Compose (Unleash + PostgreSQL 17) arranca automáticamente con un healthcheck integrado.",{"title":62,"body":63},"Iniciar sesión en la UI de administración","Abre `https:\u002F\u002F\u003Ctu-dominio>\u002F` en el navegador. La página de login está en `\u002Fauth\u002Fsimple\u002Flogin`. Introduce `admin` y la contraseña de tu área de cliente de ServOrbit.",{"title":65,"body":66},"Crear un proyecto y tu primera flag","En la UI de Unleash, crea un proyecto y añade un feature toggle. Elige el tipo (Release, Kill switch, Experiment) y añade una estrategia de activación (ej. rollout gradual al 10 %).",{"title":68,"body":69},"Configurar una estrategia de activación","Haz clic en tu flag, luego en **Add strategy** en el entorno de tu elección (por defecto `production`). Elige **Gradual rollout** y fija el deslizador al 10 %. Haz clic en **Save strategy** — la flag está ahora activa para el 10 % de tus usuarios.",{"title":71,"body":72},"Conectar tu aplicación con el SDK","Instala el SDK: `npm install unleash-client` o `pip install UnleashClient`. Inicialízalo con la URL de tu API y una clave CLIENT. Llama a `isEnabled('my-flag')` donde quieras condicionar el comportamiento.",{"title":74,"body":75},"Monitorizar y ajustar","La pestaña Metrics muestra evaluaciones positivas y negativas. Aumenta el rollout, cambia segmentos o desactiva la flag desde la UI — sin redespliegue.",{"type":77,"body":78},"tip","Para flags de tipo Kill switch, activa los datos de impresión en tu SDK (`impressionDataAll: true`): cada evaluación genera un evento que puedes enrutar a tu stack de observabilidad (Glitchtip, Plausible) para correlacionar un rollout con cambios en tus métricas de negocio.",{"type":38,"title":80,"body":81},"Gestión de entornos y promoción","Unleash open source crea dos entornos por defecto: `development` y `production`. Cada flag tiene un estado independiente por entorno — puedes activar una función en development para todo el equipo mientras mantienes el rollout de production en 0 %.\n\nPara añadir un entorno `staging`, ve a Unleash → Settings → Environments → Add environment. Nómbralo `staging` y guarda. Cada flag mostrará ahora tres pestañas de entorno. El SDK debe inicializarse con `environment: 'staging'` (o `'development'`) para que las evaluaciones lleguen al estado correcto.\n\nUn patrón común: activar una función en staging para todo el equipo de QA (estrategia UserIDs con los emails internos), y en production con un Gradual rollout al 5 %. Las dos estrategias coexisten en la misma flag, en entornos distintos — sin conflicto.",{"type":38,"title":83,"body":84},"Tokens de API y seguridad","Unleash separa los tokens por tipo y entorno. Un token **CLIENT** da acceso de solo lectura al estado de las flags para un entorno dado — es el token para inyectar en tus aplicaciones. Un token **ADMIN** da acceso completo a la API de administración — reservado para scripts de despliegue o herramientas de integración, nunca embebido en código cliente.\n\nCrea un token CLIENT en Unleash → Settings → API access → Add new API token. Elige el tipo **CLIENT**, selecciona el entorno (`production`) y el ámbito de proyectos. Copia el valor generado — solo se muestra una vez. Guárdalo en tus secretos de CI (variable de entorno `UNLEASH_API_TOKEN`) o en tu gestor de secretos.\n\nEn ServOrbit, Unleash está vinculado a `127.0.0.1` y expuesto solo a través de nginx. El puerto 4242 nunca es directamente accesible desde internet — nginx añade TLS, y solo el dominio proxificado responde en el puerto 443. La contraseña admin inicial está disponible en tu área de cliente; cámbiala en el primer acceso desde Unleash → Profile → Change password.",{"type":38,"title":86,"body":87},"Historial CVE y por qué se fija la versión 8.0.3","Unleash 8.0.3 está fijado en la plantilla de ServOrbit por una razón concreta: dos vulnerabilidades fueron corregidas entre 8.0.0 y 8.0.3. **CVE-2026-63004** (CVSS 5.5, SSRF) permitía a un administrador autenticado disparar solicitudes del servidor a endpoints de red internos a través de la configuración de webhooks. **CVE-2026-63466** (CVSS 4.1, XSS almacenado) permitía inyectar HTML en las descripciones de flags. Ambas requieren autenticación y están completamente corregidas en 8.0.3. Fijar el tag exacto en lugar de `:latest` garantiza que siempre sepas qué versión está corriendo.","Despliega Unleash en un VPS ServOrbit","Un VPS ServOrbit con Docker preconfigurado, IPv4 dedicada y nginx incluido — despliega tu plataforma de feature flags en minutos, sin configuración de servidor.","Desplegar mi VPS","\u002Fmarketplace\u002Fdesarrollo\u002Funleash",[93,111,128],{"id":94,"slug":95,"slugs":96,"title":100,"excerpt":101,"readTime":102,"views":18,"isPinned":19,"publishedAt":103,"updatedAt":104,"category":105,"categories":106,"featuredImage":29,"bgImage":30,"posterImage":108,"relatedSolution":109},74,"alojar-gitea-en-un-vps",{"fr":97,"en":98,"ar":99,"es":95},"heberger-gitea","host-gitea-on-your-own-vps","استضافة-gitea-على-خادم-vps-الخاص-بك","Alojar Gitea en su propio VPS en 2026","Despliegue Gitea en un VPS con Docker y SSL. Guía completa: instalación, migración a Forgejo v16 y comparativa de gobernanza.",8,"2026-04-07T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":17,"name":23,"slug":24,"color":25,"icon":26},[107],{"id":17,"name":23,"slug":24,"color":25,"icon":26},"\u002Fblog\u002Fcovers\u002Fheberger-gitea-poster.svg",{"categorySlug":33,"appSlug":110},"gitea",{"id":112,"slug":113,"slugs":114,"title":118,"excerpt":119,"readTime":17,"views":18,"isPinned":19,"publishedAt":120,"updatedAt":121,"category":122,"categories":123,"featuredImage":29,"bgImage":30,"posterImage":125,"relatedSolution":126},376,"alojar-verdaccio-en-un-vps-registro-npm-privado",{"fr":115,"en":116,"ar":117,"es":113},"self-host-verdaccio-vps","verdaccio-private-npm-registry-vps","استضافة-verdaccio-على-vps-مسجل-npm-خاص","Alojar Verdaccio en un VPS: registro npm\u002Fyarn\u002Fpnpm privado","Despliega Verdaccio en tu VPS ServOrbit: registro npm\u002Fyarn privado autoalojado para proxy de npmjs.org y alojamiento de paquetes JavaScript internos.","2026-09-25T00:00:00+00:00","2026-09-25T23:43:02+00:00",{"id":17,"name":23,"slug":24,"color":25,"icon":26},[124],{"id":17,"name":23,"slug":24,"color":25,"icon":26},"\u002Fblog\u002Fcovers\u002Fself-host-verdaccio-vps-poster.svg",{"categorySlug":33,"appSlug":127},"verdaccio",{"id":129,"slug":130,"slugs":131,"title":135,"excerpt":136,"readTime":137,"views":138,"isPinned":19,"publishedAt":139,"updatedAt":140,"category":141,"categories":146,"featuredImage":29,"bgImage":30,"posterImage":148,"relatedSolution":149},361,"como-alojar-semaphore-ui-en-un-vps",{"fr":132,"en":133,"ar":134,"es":130},"self-host-semaphore-ui-vps","self-host-semaphore-ui-on-vps","كيفية-استضافة-semaphore-ui-على-خادم-vps","Self-host Semaphore UI en un VPS: panel web para Ansible","Despliega Semaphore UI en un VPS: interfaz web de código abierto para Ansible, Terraform y OpenTofu — sin CLI, SQLite integrada, sin base de datos externa.",4,2,"2026-09-18T00:00:00+00:00","2026-09-19T02:00:43+00:00",{"id":142,"name":143,"slug":144,"color":145,"icon":144},3,"Despliegue","deploiement","bg-success\u002F10 text-success",[147],{"id":142,"name":143,"slug":144,"color":145,"icon":144},"\u002Fblog\u002Fcovers\u002Fself-host-semaphore-ui-vps-poster.svg",{"categorySlug":150,"appSlug":151},"despliegue-de-aplicaciones-devops","semaphore",1790693302149]