[{"data":1,"prerenderedAt":222},["ShallowReactive",2],{"seo-verification":3,"blog-alternativas-a-postman-bruno-y-hoppscotch-en-vps-es":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-alternativas-a-postman-bruno-y-hoppscotch-en-vps-es",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":30,"intro":33,"sections":34,"ctaTitle":153,"ctaBody":154,"ctaButton":155,"ctaUrl":156,"relatedPosts":157},487,"alternativas-a-postman-bruno-y-hoppscotch-en-vps",{"fr":12,"en":13,"ar":14,"es":10},"postman-alternatives-self-hosted-api-testing","postman-alternatives-bruno-hoppscotch-on-vps","بدائل-postman-bruno-hoppscotch-على-vps","Alternativas a Postman: Bruno y Hoppscotch en VPS","Postman eliminó los workspaces de equipo gratuitos en marzo de 2026. Migra a Bruno o Hoppscotch autohospedado en menos de una hora sin perder tus colecciones.",8,0,false,"2026-10-21T00:00:00+00:00","2026-10-21T15:21:33+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},4,"Desarrollo","developpement","bg-warning\u002F10 text-warning","dev",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fpostman-alternatives-self-hosted-api-testing-poster.svg","En marzo de 2026, Postman eliminó los workspaces colaborativos de su plan gratuito, imponiendo un mínimo de 19 $\u002Fusuario\u002Fmes a los equipos pequeños. Bruno y Hoppscotch ofrecen una alternativa completa: colecciones almacenadas localmente, sin suscripción, y una migración desde Postman que conserva las variables de entorno, las autenticaciones OAuth2 y los tests automatizados. Esta guía explica cómo elegir, migrar y desplegar cualquiera de las dos herramientas en menos de una hora.",[35,39,49,52,74,95,98,146,150],{"type":36,"title":37,"body":38},"h2","Por qué migrar desde Postman ahora","Hasta febrero de 2026, Postman permitía compartir colecciones en equipo en su plan gratuito. Desde la actualización de marzo de 2026, los workspaces colaborativos están reservados a los suscriptores de pago, con un precio mínimo de 19 $\u002Fusuario\u002Fmes (plan Basic). Para un equipo de cinco desarrolladores, eso supone 95 $\u002Fmes, o 1.140 $\u002Faño, por una herramienta cuyo valor principal es el intercambio de colecciones. Para un equipo de diez personas, la factura supera los 2.000 $ anuales.\n\nDos alternativas de código abierto cubren esta necesidad sin suscripción. **Bruno** almacena las colecciones directamente en tu repositorio Git — cada petición es un archivo de texto versionable, legible por cualquier herramienta de revisión de código. **Hoppscotch** ofrece una interfaz web colaborativa, desplegable en tu propio VPS con Docker Compose en menos de veinte minutos. Ambos proyectos importan colecciones de Postman de forma nativa y conservan las variables de entorno, los scripts pre-petición y los tests automatizados.\n\nLa elección entre los dos depende de tu flujo de trabajo: Bruno es adecuado para equipos que ya trabajan en Git y no necesitan sincronización en tiempo real. Hoppscotch es adecuado para equipos que comparten entornos de prueba activos y prefieren una interfaz web accesible desde cualquier equipo.",{"type":40,"title":41,"items":42},"ul","Lo que ganas al migrar",[43,44,45,46,47,48],"**Sin suscripción** — Bruno es un cliente de escritorio de código abierto (MIT), Hoppscotch se despliega en cualquier VPS con Docker","**Colecciones versionadas** — Bruno almacena cada petición en un archivo `.bru`: `git diff`, `git blame` y las revisiones de código se aplican de forma natural","**Importación directa desde Postman** — ambas herramientas leen los exports JSON de Postman v2.1 y conservan variables, autenticaciones OAuth2 y tests automatizados","**Sin datos enviados a terceros** — Hoppscotch autohospedado no contacta ningún servidor externo; Bruno nunca sincroniza tus peticiones en la nube","**Recursos ligeros** — Bruno no tiene backend; Hoppscotch funciona con 1 vCPU \u002F 1 GB RAM para el uso habitual de un equipo","**Equipos sin límite de usuarios** — un único despliegue de Hoppscotch sirve a todo el equipo, independientemente de su tamaño",{"type":36,"title":50,"body":51},"Requisitos previos antes de empezar","Para Bruno, solo se trata del equipo de cada desarrollador: el cliente de escritorio se instala en macOS, Linux y Windows, sin servidor. Las colecciones viven en una carpeta de tu repositorio Git existente. No se requiere ninguna cuenta y no se contacta ningún servicio externo al arrancar.\n\nPara Hoppscotch autohospedado, necesitas un VPS con al menos 1 vCPU y 1 GB de RAM (2 GB recomendados para la instancia con base de datos y caché), Docker y Docker Compose instalados, un nombre de dominio apuntando al servidor, y un certificado TLS (Let's Encrypt mediante Certbot o Traefik). También necesitas acceso SSH al servidor para la configuración inicial y las actualizaciones.\n\nEn ambos casos, se necesita un export de tus colecciones Postman en formato JSON v2.1. En Postman, ve a `Archivo → Exportar → Colección v2.1` para cada colección. Los entornos se descargan por separado desde la pestaña `Environments`. Conserva estos archivos como copia de seguridad.",{"type":53,"title":54,"steps":55},"steps","Migrar a Bruno en seis pasos",[56,59,62,65,68,71],{"title":57,"body":58},"Exportar tus colecciones desde Postman","En Postman, haz clic en los `…` junto a cada colección y luego en `Export`. Elige `Collection v2.1 (recommended)` y guarda el archivo JSON. Para las variables de entorno, ve a `Environments`, haz clic en `…` y luego en `Export` para cada entorno.",{"title":60,"body":61},"Instalar Bruno","Descarga el paquete desde `usebruno.com\u002Fdownloads` para tu sistema operativo. En Debian\u002FUbuntu: `sudo dpkg -i bruno_\u003Cversion>_amd64_linux.deb`. En macOS mediante Homebrew: `brew install --cask bruno`. Bruno está firmado y no requiere cuenta.",{"title":63,"body":64},"Crear una colección Bruno en tu repositorio","Abre Bruno, haz clic en `Create Collection`, elige una carpeta en tu repositorio Git (por ejemplo `api-tests\u002F`). Bruno crea un archivo `bruno.json` allí y almacena cada petición como un archivo `.bru` — un formato de texto legible y diferenciable.",{"title":66,"body":67},"Importar la colección de Postman","En Bruno, haz clic en `Import Collection` → `Postman Collection v2 \u002F v2.1`, luego selecciona tu archivo JSON exportado. Las peticiones, carpetas, scripts pre-petición y tests `pm.test()` se convierten. Las variables `{{variable}}` se conservan con la sintaxis de Bruno `{{variable}}`.",{"title":69,"body":70},"Importar las variables de entorno","Haz clic en el selector de entorno en la parte superior derecha → `Configure` → `Import`. Selecciona el archivo JSON de entorno exportado desde Postman. Verifica que los secretos estén marcados como `Secret` en Bruno para no hacer commit en texto plano en Git.",{"title":72,"body":73},"Versionar y compartir la colección","Haz commit de la carpeta `api-tests\u002F` en tu repositorio: `git add api-tests\u002F && git commit -m 'feat: migrate Postman collections to Bruno'`. Cada desarrollador clona el repositorio y abre la carpeta en Bruno — sin configuración de cuenta, sin workspace en la nube.",{"type":53,"title":75,"steps":76},"Desplegar Hoppscotch autohospedado con Docker Compose",[77,80,83,86,89,92],{"title":78,"body":79},"Obtener el archivo Docker Compose oficial","Clona el repositorio: `git clone https:\u002F\u002Fgithub.com\u002Fhoppscotch\u002Fhoppscotch.git && cd hoppscotch`. El archivo `compose.yml` contiene tres servicios: `hoppscotch` (frontend + API), `db` (PostgreSQL 15), y `hoppscotch-migrate` (migraciones al arranque).",{"title":81,"body":82},"Configurar las variables de entorno","Copia el archivo de ejemplo: `cp .env.example .env`. Rellena como mínimo: `DATABASE_URL=postgresql:\u002F\u002Fpostgres:yourpassword@db:5432\u002Fhoppscotch`, `JWT_SECRET` (una cadena aleatoria de al menos 32 caracteres), `VITE_BASE_URL=https:\u002F\u002Fapi.tu-dominio.com`, `VITE_SHORTCODE_BASE_URL=https:\u002F\u002Ftu-dominio.com`. Para OAuth2 (inicio de sesión mediante GitHub, Google o GitLab), rellena las claves correspondientes en el bloque `Auth`.",{"title":84,"body":85},"Iniciar los servicios","Ejecuta `docker compose up -d`. En el primer arranque, el servicio `hoppscotch-migrate` aplica las migraciones de PostgreSQL y luego se detiene — esto es normal. Verifica con `docker compose ps` que `hoppscotch` y `db` estén en estado `running`.",{"title":87,"body":88},"Configurar el reverse proxy y TLS","Añade un virtual host de nginx que dirija el puerto 3000 a `localhost:3000` y el puerto 8080 (API backend) a `localhost:8080`. Obtén un certificado Let's Encrypt: `certbot --nginx -d tu-dominio.com -d api.tu-dominio.com`. Recarga nginx: `systemctl reload nginx`.",{"title":90,"body":91},"Crear la primera cuenta de administrador","Abre `https:\u002F\u002Ftu-dominio.com` en tu navegador. La primera cuenta creada recibe automáticamente los permisos de administrador. Ve a `https:\u002F\u002Ftu-dominio.com\u002Fadmin` para gestionar usuarios, activar o desactivar métodos de autenticación, y definir las políticas de equipo.",{"title":93,"body":94},"Importar las colecciones de Postman en Hoppscotch","En Hoppscotch, ve a `Collections` → `Import \u002F Export` → `Import from Postman`. Selecciona tu archivo JSON v2.1. Se importan las colecciones, carpetas, peticiones, variables y scripts de test. Comparte la colección con tu equipo mediante el menú `Share Collection` — cada miembro conectado tiene acceso en tiempo real.",{"type":96,"body":97},"p","Insomnia, un tercer cliente de API frecuentemente citado, atravesó un período turbulento en 2023: el equipo de Kong eliminó la sincronización local a favor de una cuenta cloud obligatoria, antes de dar marcha atrás bajo la presión de la comunidad. El proyecto ahora está dividido en dos ramas: `insomnium` (fork comunitario, offline-first) e Insomnia oficial (open-core con cloud opcional). La comparación a continuación cubre Insomnia en su estado actual (open-core, licencia Apache 2.0), que sigue siendo una alternativa válida para desarrolladores individuales pero pierde ventaja cuando la colaboración en equipo es central.",{"type":99,"title":100,"headers":101,"rows":106},"comparison","Bruno vs Hoppscotch vs Insomnia — cuál elegir",[102,103,104,105],"Criterio","Bruno","Hoppscotch autohospedado","Insomnia open-core",[107,112,117,122,127,130,134,137,142],[108,109,110,111],"Modelo","Cliente de escritorio (MIT)","App web autohospedada (MIT)","Cliente de escritorio (open-core, Apache 2.0)",[113,114,115,116],"Almacenamiento de colecciones","Archivos `.bru` en Git","Base de datos PostgreSQL en tu VPS","Archivos locales o nube de pago",[118,119,120,121],"Colaboración en tiempo real","Mediante Git (pull\u002Fpush)","Sí, nativa en la UI web","No en el plan gratuito (requiere nube)",[123,124,125,126],"RAM requerida","\u003C 200 MB (solo cliente)","1 GB mínimo (servidor)","\u003C 300 MB (solo cliente)",[128,129,129,129],"Importación Postman v2.1","Sí, nativo",[131,132,133,132],"OAuth2 \u002F auth avanzada","Sí","Sí, con proveedores configurables",[135,136,136,136],"Tests automatizados (scripts)","Sí (JS)",[138,139,140,141],"Despliegue en equipo","Sin servidor — compartir mediante Git","Docker Compose, 1 VPS","Suscripción cloud o autohospedaje Enterprise",[143,144,145,144],"Acceso sin conexión","Total","Parcial (interfaz offline, sincronización imposible)",{"type":147,"title":148,"body":149},"tip","Migrar los tests automatizados de Postman","Los scripts `pm.test()` de Postman utilizan la biblioteca global `pm`. Tanto Bruno como Hoppscotch exponen una API compatible: `test('nombre del test', () => { ... })` con `expect()` para las aserciones. La conversión es directa para las aserciones de código de estado (`pm.response.to.have.status(200)` → `expect(response.status).toBe(200)`) y las aserciones sobre el cuerpo JSON (`pm.response.json()` permanece idéntico). Los scripts pre-petición que modifican variables de entorno (`pm.environment.set(...)`) son compatibles de forma nativa con ambas herramientas.",{"type":36,"title":151,"body":152},"Alojar Hoppscotch en un VPS de ServOrbit","Un VPS con Docker preconfigurado es perfectamente adecuado para alojar Hoppscotch: el stack `hoppscotch` + `db` (PostgreSQL 15) + `nginx` cabe en 1 GB de RAM para el uso habitual de un equipo, y sube a 2 GB si activas la generación de mocks o la integración CI. Una IPv4 dedicada simplifica la configuración DNS y garantiza que el tráfico de tu instancia de prueba nunca sea compartido.\n\nUn VPS dedicado a tus herramientas de desarrollo también centraliza otras herramientas de tu stack: Gitea para el código fuente, Woodpecker CI para la integración continua, y Hoppscotch para las pruebas de API forman un conjunto coherente en el mismo servidor. ServOrbit ofrece VPS orientados a desarrolladores, con Docker preconfigurado, para alojar Hoppscotch o cualquier API desde 99 DH\u002Fmes.","Aloja tu herramienta de pruebas de API en un VPS para desarrolladores","ServOrbit ofrece VPS con acceso root, IPv4 dedicada y Docker preconfigurado. Despliega Hoppscotch autohospedado en menos de una hora, sin configuración de red adicional.","Ver planes VPS para desarrolladores","\u002Fsolutions\u002Fdeveloppeurs",[158,178,201],{"id":159,"slug":160,"slugs":161,"title":165,"excerpt":166,"readTime":167,"views":168,"isPinned":19,"publishedAt":169,"updatedAt":170,"category":171,"categories":172,"featuredImage":30,"bgImage":31,"posterImage":174,"relatedSolution":175},45,"desplegar-una-aplicacion-fastapi-en-un-vps",{"fr":162,"en":163,"ar":164,"es":160},"deployer-fastapi-vps","deploy-a-fastapi-application-on-a-vps","نشر-تطبيق-fastapi-على-vps","Desplegar FastAPI en un VPS: guía completa de producción","Despliegue FastAPI en un VPS con Docker multistage, Gunicorn, PostgreSQL, CI\u002FCD con GitHub Actions y monitoreo. Guía completa Python producción 2025.",10,3,"2026-05-06T00:00:00+00:00","2026-10-07T23:07:24+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[173],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fdeployer-fastapi-vps-poster.svg",{"categorySlug":176,"appSlug":177},"desarrollo","fastapi",{"id":179,"slug":180,"slugs":181,"title":185,"excerpt":186,"readTime":187,"views":18,"isPinned":19,"publishedAt":188,"updatedAt":189,"category":190,"categories":196,"featuredImage":30,"bgImage":31,"posterImage":198,"relatedSolution":199},74,"alojar-gitea-en-un-vps",{"fr":182,"en":183,"ar":184,"es":180},"heberger-gitea","host-gitea-on-your-own-vps","استضافة-gitea-على-خادم-vps-الخاص-بك","Alojar Gitea en su propio VPS en 2026","Despliegue Gitea 1.25 en un VPS con Docker y SSL: Gitea Actions CI\u002FCD, comparativa vs Forgejo v16, administración y errores SSH y HTTPS.",13,"2026-04-07T00:00:00+00:00","2026-10-21T15:21:37+00:00",{"id":191,"name":192,"slug":193,"color":194,"icon":195},7,"Autoalojamiento","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[197],{"id":191,"name":192,"slug":193,"color":194,"icon":195},"\u002Fblog\u002Fcovers\u002Fheberger-gitea-poster.svg",{"categorySlug":176,"appSlug":200},"gitea",{"id":202,"slug":203,"slugs":204,"title":208,"excerpt":209,"readTime":210,"views":211,"isPinned":19,"publishedAt":212,"updatedAt":213,"category":214,"categories":219,"featuredImage":30,"bgImage":31,"posterImage":221,"relatedSolution":30},212,"woodpecker-ci-forgejo-pipeline-cicd-vps",{"fr":205,"en":206,"ar":207,"es":203},"woodpecker-ci-pipeline-vps-forgejo","woodpecker-ci-and-forgejo-cicd-pipeline-on-a-vps","woodpecker-ci-وforgejo-خط-أنابيب-cicd-على-خادم-vps","Woodpecker CI y Forgejo: pipeline CI\u002FCD en un VPS","Despliega Woodpecker CI v3 con Forgejo en tu VPS: configuración Docker Compose, pipelines YAML, secretos, runners multi-arquitectura y depuración OAuth.",11,1,"2026-08-02T00:00:00+00:00","2026-10-20T23:18:05+00:00",{"id":215,"name":216,"slug":217,"color":218,"icon":217},2,"Automatización","automatisation","bg-brand-action\u002F10 text-brand-action",[220],{"id":215,"name":216,"slug":217,"color":218,"icon":217},"\u002Fblog\u002Fcovers\u002Fwoodpecker-ci-pipeline-vps-forgejo-poster.svg",1792596597521]