Formbricks: Alternativa Open Source a Qualtrics para Gestión de Experiencias
Plataforma de encuestas autoalojable con editor sin código, segmentación avanzada y analítica integrada
Vídeo tutorial en YouTube
Mira el vídeo completo sobre cómo instalar y usar Formbricks: Alternativa Open Source a Qualtrics para Gestión de Experiencias en el canal GENBYTE:
¿Qué es Formbricks: Alternativa Open Source a Qualtrics para Gestión de Experiencias?
Formbricks es una plataforma de gestión de experiencias (XM) y encuestas de código abierto que permite recopilar feedback en cada punto del viaje del usuario. Ofrece encuestas in-app, web, por enlace y email con un editor visual sin código, plantillas de mejores prácticas y capacidades de segmentación sin modificar el código de la aplicación. El núcleo está licenciado bajo AGPLv3 y es totalmente autoalojable mediante Docker, mientras que existe una edición Enterprise con funcionalidades adicionales bajo licencia comercial. El proyecto está construido con TypeScript, Next.js, React, TailwindCSS, Prisma y Auth.js, y utiliza PostgreSQL, SpiceDB para autorización, Cube para analítica semántica y Valkey/Redis para colas y caché.
Características principales
Editor de encuestas sin código
Crea encuestas optimizadas para conversión con múltiples tipos de pregunta mediante un editor visual intuitivo.
Plantillas de mejores prácticas
Biblioteca de plantillas listas para usar que aceleran la creación de encuestas comunes.
Segmentación y targeting avanzado
Lanza encuestas a grupos de usuarios específicos basados en atributos, eventos o comportamiento sin cambiar el código de la aplicación.
Encuestas por enlace compartible
Genera enlaces públicos para distribuir encuestas por email, redes sociales o cualquier canal.
Colaboración en equipo
Invita miembros de la organización a colaborar en el diseño y análisis de encuestas.
Integraciones nativas
Conectores para Slack, Notion, Zapier, n8n y webhooks personalizados para automatizar flujos de trabajo.
Analítica integrada (Cube)
Capa semántica Cube.js para consultas analíticas rápidas y dashboards sobre respuestas de encuestas.
Autorización granular (SpiceDB)
Modelo de permisos basado en relaciones para control de acceso a nivel de organización, workspace y encuesta.
Autoalojamiento completo con Docker
Despliegue en infraestructura propia mediante Docker Compose con todos los servicios necesarios (PostgreSQL, SpiceDB, Valkey, Cube, Hub, RustFS, MailHog).
Licencia AGPLv3 para el núcleo
Código principal libre para uso personal y comercial, con obligación de compartir modificaciones bajo la misma licencia.
Requisitos del sistema
- Node.js >=24.0.0 <25 (versión fijada en .nvmrc y package.json)
- pnpm 11.7.0 (gestor de paquetes obligatorio)
- Docker y Docker Compose (para servicios de desarrollo y producción)
- PostgreSQL 15+ (base de datos principal)
- SpiceDB (servicio de autorización, incluido en docker-compose.dev.yml)
- Valkey/Redis 7+ (colas BullMQ, caché, rate limiting)
- Cube.js (API analítica, puerto 4000 en stack local)
- Formbricks Hub (servicio de enriquecimiento IA, puerto 8080 en stack local)
- RustFS / S3 compatible (almacenamiento de archivos, opcional en local)
- SMTP (MailHog en desarrollo, servidor real en producción) para verificación de email y reset de contraseña
Instalación con Docker Compose
Clonar el repositorio
Obtén el código fuente desde GitHub.
cd formbricks
Configurar variables de entorno
Copia el archivo de ejemplo y genera los secretos obligatorios (ENCRYPTION_KEY, BETTER_AUTH_SECRET, CRON_SECRET, CUBEJS_API_SECRET). El script de setup lo hace automáticamente.
# Edita .env con tus valores o ejecuta el setup automático
Levantar stack de desarrollo con Docker Compose
Inicia todos los servicios necesarios (PostgreSQL, SpiceDB, Valkey, Cube, Hub, RustFS, MailHog) y la aplicación Next.js en modo desarrollo.
pnpm go
# Equivale a: pnpm db:up && pnpm dev:authzed && turbo run go –concurrency 20
Acceder a la aplicación
La interfaz web estará disponible en http://localhost:3000. Los servicios auxiliares: Cube en localhost:4000, Hub en localhost:8080, SpiceDB gRPC en localhost:50051, MailHog UI en localhost:8025.
Acceder al proyecto
Interfaz web principal
http://localhost:3000 (puerto por defecto en desarrollo; configurable con WEBAPP_URL y BETTER_AUTH_URL en producción)
API analítica Cube.js
http://localhost:4000 (CUBEJS_API_URL)
Formbricks Hub (enriquecimiento IA)
http://localhost:8080 (HUB_API_URL)
SpiceDB gRPC
localhost:50051 (AUTHZED_ENDPOINT)
MailHog (captura de emails en desarrollo)
http://localhost:8025
Valkey/Redis
redis://localhost:6379 (REDIS_URL)
Casos de uso
- Recopilar feedback in-app contextual (NPS, CSAT, CES) en aplicaciones SaaS
- Encuestas web embebidas en sitios públicos o áreas autenticadas
- Encuestas por enlace para investigación de mercado o validación de conceptos
- Encuestas transaccionales por email tras eventos clave (compra, onboarding, soporte)
- Segmentación de usuarios por comportamiento, atributos o eventos para mostrar encuestas relevantes
- Análisis de respuestas con dashboards personalizados vía Cube.js
- Automatización de acciones tras respuestas (Slack, webhooks, n8n, Zapier)
- Cumplimiento de privacidad y soberanía de datos mediante autoalojamiento
Configuración avanzada
Configuración de almacenamiento S3
Para entornos serverless o producción, configura un bucket S3 compatible.
S3_SECRET_KEY=tu_secret_key
S3_REGION=us-east-1
S3_BUCKET_NAME=formbricks-uploads
S3_ENDPOINT_URL=https://s3.tu-proveedor.com # Opcional para S3 compatible
S3_FORCE_PATH_STYLE=1 # 1 para MinIO, Storj, etc.
Habilitar verificación de email y reset de contraseña
Requiere SMTP configurado. Desactiva las banderas de deshabilitación.
PASSWORD_RESET_DISABLED=0
SMTP_HOST=smtp.tu-proveedor.com
SMTP_PORT=587
SMTP_SECURE_ENABLED=0
SMTP_USER=tu_usuario
SMTP_PASSWORD=tu_password
[email protected]
MAIL_FROM_NAME=Formbricks
Autenticación social (OAuth)
Configura proveedores OAuth para login único.
GITHUB_SECRET=tu_github_client_secret
GOOGLE_CLIENT_ID=tu_google_client_id
GOOGLE_CLIENT_SECRET=tu_google_client_secret
AZUREAD_CLIENT_ID=tu_azure_client_id
AZUREAD_CLIENT_SECRET=tu_azure_client_secret
AZUREAD_TENANT_ID=tu_tenant_id
Integraciones de terceros
Claves OAuth para Notion, Slack, Google Sheets, Airtable.
NOTION_OAUTH_CLIENT_SECRET=tu_notion_client_secret
SLACK_CLIENT_ID=tu_slack_client_id
SLACK_CLIENT_SECRET=tu_slack_client_secret
GOOGLE_SHEETS_CLIENT_ID=tu_gsheets_client_id
GOOGLE_SHEETS_CLIENT_SECRET=tu_gsheets_client_secret
GOOGLE_SHEETS_REDIRECT_URL=https://tudominio.com/api/integrations/google-sheets/callback
AIRTABLE_CLIENT_ID=tu_airtable_client_id
Licencia Enterprise
Desbloquea funcionalidades avanzadas (gestión de roles, SSO SAML, etc.).
Proveedores de IA para funciones inteligentes
Configura proveedores para clasificación de sentimiento, emociones, traducción y taxonomía.
AI_MODEL=gemini-2.5-flash
AI_GOOGLE_CLOUD_PROJECT=tu_proyecto
AI_GOOGLE_CLOUD_LOCATION=europe-west3
AI_GOOGLE_CLOUD_CREDENTIALS_JSON={"type":"service_account",…}
# O proveedor openai-compatible (vLLM/Qwen local)
AI_PROVIDER=openai-compatible
AI_MODEL=qwen3-14b-awq
AI_OPENAI_COMPATIBLE_BASE_URL=http://vllm:8000/v1
AI_OPENAI_COMPATIBLE_API_KEY=dummy
Perfiles Docker Compose para servicios opcionales
Activa taxonomía IA y/o Qwen/vLLM local mediante perfiles.
# Con Qwen/vLLM local
docker compose -f docker-compose.dev.yml –profile qwen,taxonomy up -d
Gestión y mantenimiento
Actualizar dependencias y reconstruir
Actualiza paquetes y regenera cliente Prisma si hay cambios en schema.
pnpm generate
pnpm build
Migraciones de base de datos
Ejecuta migraciones en desarrollo o despliegue.
pnpm db:migrate:dev
# Producción
docker compose exec web pnpm db:migrate:deploy
Gestión de secretos y rotación
Regenera claves críticas y actualiza .env. Reinicia contenedores para aplicar.
openssl rand -hex 32 # Para ENCRYPTION_KEY, BETTER_AUTH_SECRET, CRON_SECRET, CUBEJS_API_SECRET
# Actualizar .env y reiniciar
docker compose restart web
Backup de PostgreSQL
Realiza copias de seguridad periódicas de la base de datos principal.
# Restaurar
docker exec -i postgres psql -U postgres formbricks < backup_2024-01-15.sql
Limpieza de recursos Docker
Elimina volúmenes y contenedores huérfanos para liberar espacio.
# O completo con volúmenes
docker compose -f docker-compose.dev.yml down -v
Monitoreo y logs
Consulta logs de la aplicación y servicios. Configura OpenTelemetry opcional.
docker compose logs -f web
# Logs de SpiceDB
docker compose logs -f spicedb
# Métricas Prometheus (si habilitado)
# PROMETHEUS_ENABLED=1
# PROMETHEUS_EXPORTER_PORT=9090
Stack técnico
- TypeScript
- Next.js 15 (App Router)
- React 19
- TailwindCSS
- Prisma ORM
- Auth.js (Better Auth)
- Zod (validación)
- Vitest (testing unitario)
- Playwright (E2E)
- TurboRepo (monorepo)
- pnpm (workspace)
- PostgreSQL 15+
- SpiceDB (autorización Zanzibar)
- Valkey/Redis 7 (colas, caché)
- Cube.js (capa semántica analítica)
- BullMQ (colas de trabajos)
- RustFS / MinIO (almacenamiento S3 compatible)
- MailHog (SMTP desarrollo)
- Formbricks Hub (enriquecimiento IA)
- Qwen/vLLM (LLM local opcional)
- Docker / Docker Compose
Referencias oficiales
- Repositorio oficial GitHub: https://github.com/formbricks/formbricks
- Sitio web y documentación: https://formbricks.com
- Documentación de autoalojamiento: https://formbricks.com/docs/self-hosting/deployment
- Licencia AGPLv3: https://github.com/formbricks/formbricks/blob/main/LICENSE
- Edición Enterprise y licencia: https://formbricks.com/docs/self-hosting/enterprise
- Referencia de variables de entorno Hub: https://hub.formbricks.com/reference/environment-variables
- API v3 Reference: https://formbricks.com/docs/api/v3
- Seguridad y reporte de vulnerabilidades: https://github.com/formbricks/formbricks/blob/main/SECURITY.md
- Guía de contribución: https://github.com/formbricks/formbricks/blob/main/CONTRIBUTING.md
Apoya el canal GENBYTE
¿Te ha sido útil este contenido?
Suscríbete a YouTube
Newsletter GENBYTE
Ko-fi
Contacto: [email protected]
