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 $/usuario/mes (plan Basic). Para un equipo de cinco desarrolladores, eso supone 95 $/mes, o 1.140 $/añ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.
Dos 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.
La 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.
Lo que ganas al migrar
- 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 blamey 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 / 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
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.
Para 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.
En 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.
Migrar a Bruno en seis pasos
Exportar tus colecciones desde Postman
En Postman, haz clic en los
…junto a cada colección y luego enExport. EligeCollection v2.1 (recommended)y guarda el archivo JSON. Para las variables de entorno, ve aEnvironments, haz clic en…y luego enExportpara cada entorno.Instalar Bruno
Descarga el paquete desde
usebruno.com/downloadspara tu sistema operativo. En Debian/Ubuntu:sudo dpkg -i bruno_<version>_amd64_linux.deb. En macOS mediante Homebrew:brew install --cask bruno. Bruno está firmado y no requiere cuenta.Crear una colección Bruno en tu repositorio
Abre Bruno, haz clic en
Create Collection, elige una carpeta en tu repositorio Git (por ejemploapi-tests/). Bruno crea un archivobruno.jsonallí y almacena cada petición como un archivo.bru— un formato de texto legible y diferenciable.Importar la colección de Postman
En Bruno, haz clic en
Import Collection→Postman Collection v2 / v2.1, luego selecciona tu archivo JSON exportado. Las peticiones, carpetas, scripts pre-petición y testspm.test()se convierten. Las variables{{variable}}se conservan con la sintaxis de Bruno{{variable}}.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 comoSecreten Bruno para no hacer commit en texto plano en Git.Versionar y compartir la colección
Haz commit de la carpeta
api-tests/en tu repositorio:git add api-tests/ && 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.
Desplegar Hoppscotch autohospedado con Docker Compose
Obtener el archivo Docker Compose oficial
Clona el repositorio:
git clone https://github.com/hoppscotch/hoppscotch.git && cd hoppscotch. El archivocompose.ymlcontiene tres servicios:hoppscotch(frontend + API),db(PostgreSQL 15), yhoppscotch-migrate(migraciones al arranque).Configurar las variables de entorno
Copia el archivo de ejemplo:
cp .env.example .env. Rellena como mínimo:DATABASE_URL=postgresql://postgres:yourpassword@db:5432/hoppscotch,JWT_SECRET(una cadena aleatoria de al menos 32 caracteres),VITE_BASE_URL=https://api.tu-dominio.com,VITE_SHORTCODE_BASE_URL=https://tu-dominio.com. Para OAuth2 (inicio de sesión mediante GitHub, Google o GitLab), rellena las claves correspondientes en el bloqueAuth.Iniciar los servicios
Ejecuta
docker compose up -d. En el primer arranque, el serviciohoppscotch-migrateaplica las migraciones de PostgreSQL y luego se detiene — esto es normal. Verifica condocker compose psquehoppscotchydbestén en estadorunning.Configurar el reverse proxy y TLS
Añade un virtual host de nginx que dirija el puerto 3000 a
localhost:3000y el puerto 8080 (API backend) alocalhost:8080. Obtén un certificado Let's Encrypt:certbot --nginx -d tu-dominio.com -d api.tu-dominio.com. Recarga nginx:systemctl reload nginx.Crear la primera cuenta de administrador
Abre
https://tu-dominio.comen tu navegador. La primera cuenta creada recibe automáticamente los permisos de administrador. Ve ahttps://tu-dominio.com/adminpara gestionar usuarios, activar o desactivar métodos de autenticación, y definir las políticas de equipo.Importar las colecciones de Postman en Hoppscotch
En Hoppscotch, ve a
Collections→Import / 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.
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.
Bruno vs Hoppscotch vs Insomnia — cuál elegir
Desplace la tabla
| Criterio | Bruno | Hoppscotch autohospedado | Insomnia open-core |
|---|---|---|---|
| Modelo | Cliente de escritorio (MIT) | App web autohospedada (MIT) | Cliente de escritorio (open-core, Apache 2.0) |
| Almacenamiento de colecciones | Archivos `.bru` en Git | Base de datos PostgreSQL en tu VPS | Archivos locales o nube de pago |
| Colaboración en tiempo real | Mediante Git (pull/push) | Sí, nativa en la UI web | No en el plan gratuito (requiere nube) |
| RAM requerida | < 200 MB (solo cliente) | 1 GB mínimo (servidor) | < 300 MB (solo cliente) |
| Importación Postman v2.1 | Sí, nativo | Sí, nativo | Sí, nativo |
| OAuth2 / auth avanzada | Sí | Sí, con proveedores configurables | Sí |
| Tests automatizados (scripts) | Sí (JS) | Sí (JS) | Sí (JS) |
| Despliegue en equipo | Sin servidor — compartir mediante Git | Docker Compose, 1 VPS | Suscripción cloud o autohospedaje Enterprise |
| Acceso sin conexión | Total | Parcial (interfaz offline, sincronización imposible) | Total |
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.
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.
Un 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/mes.