[{"data":1,"prerenderedAt":218},["ShallowReactive",2],{"seo-verification":3,"blog-como-alojar-posthog-en-un-vps-ma-es":6,"promo-bar-likely":217},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-como-alojar-posthog-en-un-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":33,"intro":36,"sections":37,"ctaTitle":156,"ctaBody":157,"ctaButton":158,"ctaUrl":159,"relatedPosts":160},155,"como-alojar-posthog-en-un-vps",{"fr":12,"en":13,"ar":14,"es":10},"heberger-posthog-vps","how-to-host-posthog-on-a-vps","كيفية-استضافة-posthog-على-خادم-vps","Cómo alojar PostHog en un VPS","Aloja PostHog en un VPS ServOrbit: Docker Compose, MinIO para grabaciones, feature flags y SDK JS. Guía completa de analytics self-hosted.",9,2,false,"2026-01-22T00:00:00+00:00","2026-10-02T14:03:20+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\u002Fheberger-posthog-vps-poster.svg",{"categorySlug":34,"appSlug":35},"analitica-y-audiencia","analytics-posthog","PostHog es la respuesta open source a Mixpanel y Amplitude: eventos, embudos, grabación de sesiones, feature flags y A\u002FB testing en una sola instancia autoalojada. En la nube del editor, la factura sube en cuanto el volumen de eventos supera los niveles gratuitos — unos pocos millones de eventos al mes bastan para alcanzar varios cientos de dólares. En su VPS, el coste es únicamente el del servidor. Conserva los datos de comportamiento de sus usuarios en su propia infraestructura, cumple el RGPD sin contratos adicionales y activa todos los módulos — session replay, feature flags, experimentos A\u002FB — sin ningún nivel de pago. Esta guía cubre la instalación paso a paso con Docker Compose, la configuración de un reverse proxy nginx con HTTPS, la configuración de object storage para las grabaciones de sesiones, la conexión del SDK JavaScript y la activación de los feature flags.",[38,42,76,79,98,113,128,143,146,150,153],{"type":39,"title":40,"body":41},"h2","Lo que PostHog permite y las alternativas SaaS no","Mixpanel, Amplitude y Heap son herramientas en la nube: sus datos van a sus servidores, su política de retención fija lo que puede conservar, y el muestreo se activa automáticamente cuando su volumen supera ciertos umbrales. PostHog autoalojado elimina estas tres restricciones. Los eventos permanecen en su base de datos ClickHouse, en su disco o en su object storage — ninguna copia sale de su infraestructura. La retención es ilimitada: usted decide cuándo purgar los datos antiguos. No existe muestreo: cada evento se registra incluso durante picos de tráfico. Añada a eso el cumplimiento del RGPD sin negociar un DPA con un tercero, la posibilidad de modificar el código fuente y el acceso directo a los datos brutos en ClickHouse para sus propios análisis SQL.",{"type":43,"title":44,"headers":45,"rows":49},"comparison","Comparativa rápida: PostHog autoalojado vs Mixpanel Cloud",[46,47,48],"Criterio","PostHog autoalojado","Mixpanel Cloud",[50,54,58,62,66,69,73],[51,52,53],"Coste mensual (1M eventos\u002Fmes)","~$15–20 (coste VPS)","~$25–100+",[55,56,57],"Datos alojados en sus servidores","Sí","No",[59,60,61],"Cumplimiento RGPD simplificado","Sí (sin DPA de terceros)","Parcial (DPA requerido)",[63,64,65],"Muestreo automático","Ninguno","Activado más allá de los niveles",[67,56,68],"Grabaciones de sesiones incluidas","Opción de pago",[70,71,72],"Feature flags y A\u002FB testing","Sí, incluido","De pago (plan Growth+)",[74,75,57],"Acceso SQL bruto a los datos","Sí (ClickHouse directo)",{"type":39,"title":77,"body":78},"Requisitos del servidor","PostHog incluye ClickHouse, Kafka, Redis y PostgreSQL en la misma stack de Docker Compose. Es la solución de analytics más exigente en recursos de esta categoría, y un VPS infradimensionado provoca caídas de ClickHouse o timeouts de Kafka desde los primeros eventos. Prevea como mínimo 4 vCPU y 8 GB de RAM para un uso ligero (menos de un millón de eventos al mes). Para una carga más sostenida — de 1 a 5 millones de eventos al mes — apunte a 8 vCPU y 16 GB de RAM. En cuanto al almacenamiento, ClickHouse es muy eficiente en compresión, pero las grabaciones de sesiones se acumulan rápido: prevea al menos 50 GB de SSD y añada un object storage externo (S3 o MinIO) en cuanto active las grabaciones. En cuanto al software: Docker Engine 24+ y Docker Compose v2, un nombre de dominio con un registro A apuntando al VPS, y los puertos 80 y 443 abiertos en el cortafuegos.",{"type":80,"title":81,"steps":82},"steps","Instalar PostHog con Docker Compose",[83,86,89,92,95],{"title":84,"body":85},"Instalar Docker en el VPS","Conéctese por SSH y luego instale Docker con el script oficial: `curl -fsSL https:\u002F\u002Fget.docker.com | sh`. Añada su usuario al grupo docker para evitar sudo: `usermod -aG docker $USER`. Verifique con `docker compose version` que Compose v2 esté disponible.",{"title":87,"body":88},"Clonar el repositorio de PostHog y preparar el entorno","Clone el repositorio oficial: `git clone https:\u002F\u002Fgithub.com\u002FPostHog\u002Fposthog.git && cd posthog`. Copie el archivo de entorno de ejemplo: `cp .env.example .env`. Abra `.env` en un editor para configurar las variables esenciales.",{"title":90,"body":91},"Configurar las variables de entorno","En `.env`, configure como mínimo: `SECRET_KEY` (genere una clave aleatoria de 50 caracteres con `python3 -c \"import secrets; print(secrets.token_hex(25))\"`), `SITE_URL=https:\u002F\u002Fposthog.su-dominio.com`, `DISABLE_SECURE_SSL=false` (o `true` si prueba en HTTP local sin certificado). Deje los valores por defecto de `POSTGRES_*`, `REDIS_*` y `CLICKHOUSE_*` para un despliegue sencillo.",{"title":93,"body":94},"Arrancar la stack y esperar la migración","Lance todos los servicios en segundo plano: `docker compose -f docker-compose.yml up -d`. La primera vez, PostHog ejecuta automáticamente las migraciones de base de datos — esto tarda entre 2 y 5 minutos según el rendimiento del servidor. Siga el progreso con `docker compose logs -f web` hasta ver `PostHog server is now listening on port 8000`.",{"title":96,"body":97},"Acceder a la interfaz y crear su cuenta","Vaya a `http:\u002F\u002Flocalhost:8000` (o a través de su dominio si el DNS ya está configurado). El asistente de primer lanzamiento le guía para crear la cuenta de administrador, nombrar su organización y crear su primer proyecto. Anote la `Project API Key` que se muestra — la necesitará para conectar el SDK.",{"type":80,"title":99,"steps":100},"Configurar un reverse proxy nginx para HTTPS",[101,104,107,110],{"title":102,"body":103},"Instalar nginx y Certbot","En la máquina anfitrión (fuera de Docker): `apt install -y nginx certbot python3-certbot-nginx`. Asegúrese de que su dominio `posthog.su-dominio.com` ya apunte a la IP del VPS antes de este paso — Certbot necesita validar mediante HTTP.",{"title":105,"body":106},"Crear el vhost de nginx","Cree `\u002Fetc\u002Fnginx\u002Fsites-available\u002Fposthog` con: `server { listen 80; server_name posthog.su-dominio.com; location \u002F { proxy_pass http:\u002F\u002F127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }`. Actívelo: `ln -s \u002Fetc\u002Fnginx\u002Fsites-available\u002Fposthog \u002Fetc\u002Fnginx\u002Fsites-enabled\u002F`.",{"title":108,"body":109},"Emitir el certificado TLS","Ejecute `certbot --nginx -d posthog.su-dominio.com`. Certbot modifica automáticamente el vhost para redirigir HTTP a HTTPS y configura la renovación automática. Pruebe la renovación con `certbot renew --dry-run`.",{"title":111,"body":112},"Recargar nginx y verificar","Aplique la configuración: `nginx -t && systemctl reload nginx`. Abra `https:\u002F\u002Fposthog.su-dominio.com` en un navegador — debería ver la interfaz de PostHog con un certificado válido. Actualice `SITE_URL` en `.env` si aún no lo ha hecho y reinicie el servicio web: `docker compose restart web`.",{"type":80,"title":114,"steps":115},"Object storage para grabaciones de sesiones (S3 o MinIO)",[116,119,122,125],{"title":117,"body":118},"Por qué es necesario un object storage","Las grabaciones de sesiones generan muchos archivos pequeños (uno por segmento de sesión). Almacenarlos en el disco local del VPS llena el SSD rápidamente y complica las copias de seguridad. Un object storage compatible con S3 — ya sea AWS S3, Cloudflare R2 o MinIO autoalojado — externaliza este almacenamiento de forma elástica.",{"title":120,"body":121},"Desplegar MinIO en el mismo VPS (opción autoalojada)","Si no quiere depender de un servicio externo, añada MinIO a su `docker-compose.yml`: `minio: image: minio\u002Fminio environment: MINIO_ROOT_USER: posthog MINIO_ROOT_PASSWORD: contraseña-segura command: server \u002Fdata --console-address ':9001' volumes: - .\u002Fminio-data:\u002Fdata`. Luego cree un bucket llamado `posthog` en la consola de MinIO (puerto 9001).",{"title":123,"body":124},"Configurar las variables de entorno de PostHog","En `.env`, añada: `OBJECT_STORAGE_ENABLED=true`, `OBJECT_STORAGE_ENDPOINT=http:\u002F\u002Fminio:9000` (o la URL de su bucket S3), `OBJECT_STORAGE_ACCESS_KEY_ID=posthog`, `OBJECT_STORAGE_SECRET_ACCESS_KEY=contraseña-segura`, `OBJECT_STORAGE_BUCKET=posthog`. Reinicie la stack: `docker compose up -d`.",{"title":126,"body":127},"Verificar con una primera grabación de sesión","En los ajustes del proyecto PostHog, active «Session recording». Navegue por su aplicación durante unos segundos y luego vuelva a PostHog en «Session Recordings». Una grabación debería aparecer en pocos minutos. Compruebe en MinIO (o S3) que se han creado archivos en el bucket.",{"type":80,"title":129,"steps":130},"Enviar sus primeros eventos desde su aplicación",[131,134,137,140],{"title":132,"body":133},"Instalar el SDK de JavaScript","En su proyecto front-end: `npm install posthog-js`. Si usa un framework como React, Vue o Next.js, importe e inicialice PostHog una sola vez en el nivel raíz de la aplicación.",{"title":135,"body":136},"Inicializar con su clave de proyecto y la URL de su instancia","Añada la inicialización: `import posthog from 'posthog-js'; posthog.init('phc_YOUR_PROJECT_API_KEY', { api_host: 'https:\u002F\u002Fposthog.su-dominio.com', autocapture: true });`. Sustituya `phc_YOUR_PROJECT_API_KEY` por la clave visible en los ajustes del proyecto PostHog. Con `autocapture: true`, PostHog registra automáticamente los clics, los envíos de formularios y los cambios de página.",{"title":138,"body":139},"Capturar eventos personalizados","Para un evento de negocio preciso, llame a: `posthog.capture('pedido_realizado', { importe: 49.90, divisa: 'EUR', producto: 'vps-cloud-4vcpu' });`. Las propiedades asociadas al evento estarán disponibles en los embudos, las cohortes y las consultas SQL de ClickHouse.",{"title":141,"body":142},"Verificar en el dashboard","Vaya a PostHog en «Activity» o «Events». Los eventos aparecen casi en tiempo real (unos pocos segundos de latencia). Si no llega nada pasados dos minutos, compruebe que `api_host` en el init coincide exactamente con la URL de su instancia y que el certificado TLS es válido.",{"type":39,"title":144,"body":145},"Activar los Feature Flags","Los feature flags permiten lanzar una funcionalidad de forma progresiva — primero al 5% de los usuarios, luego al 20%, luego al 100% — sin recompilar ni redesplegar la aplicación. En PostHog, vaya a «Feature Flags» y cree un nuevo flag con una clave (`mi-nuevo-modulo`), una condición de despliegue (porcentaje o cohorte de usuarios) y, opcionalmente, variantes para un verdadero test A\u002FB. En el lado JavaScript, evalúe el flag: `if (posthog.isFeatureEnabled('mi-nuevo-modulo')) { \u002F* mostrar la nueva funcionalidad *\u002F }`. Para la evaluación en el servidor (Python o Node.js), use el SDK de backend correspondiente con la misma `PROJECT_API_KEY` — la evaluación ocurre entonces sin un viaje de ida y vuelta del cliente, evitando el parpadeo de contenido. PostHog registra automáticamente un evento `$feature_flag_called` en cada evaluación, lo que permite correlacionar la activación de un flag con cualquier métrica de su dashboard.",{"type":147,"title":148,"body":149},"tip","Consejo de rendimiento: desactive las grabaciones de sesiones al inicio","Si su VPS está configurado con el mínimo de 4 vCPU \u002F 8 GB de RAM, las grabaciones de sesiones consumen recursos importantes de ClickHouse desde las primeras horas de tráfico. Recomendación: deje las grabaciones desactivadas durante los primeros 30 días. Esto le da tiempo para validar la estabilidad de la stack, ajustar la configuración del object storage y ampliar la RAM si es necesario. Actívelas después en los ajustes del proyecto — todas las grabaciones futuras se capturarán, y puede definir una tasa de muestreo para registrar solo un porcentaje de sesiones y controlar el almacenamiento.",{"type":39,"title":151,"body":152},"Actualizar PostHog","El equipo de PostHog publica actualizaciones periódicas. Para actualizar: `git pull origin master` en el directorio del repositorio, luego `docker compose pull` para obtener las nuevas imágenes y finalmente `docker compose up -d`. Las migraciones de base de datos se ejecutan automáticamente al reiniciar el servicio web — una breve interrupción de unas decenas de segundos es normal. Consulte las notas de la versión antes de cada actualización mayor: algunas versiones requieren una actualización intermedia (no se puede saltar versiones).",{"type":147,"title":154,"body":155},"Documentación oficial","Esta guía cubre la instalación básica en VPS. Para temas avanzados — replicación de ClickHouse, SSO SAML, webhooks, integraciones de data warehouse y opciones de configuración de Kafka — consulte la \u003Ca href=\"https:\u002F\u002Fposthog.com\u002Fdocs\u002Fself-host\" target=\"_blank\" rel=\"noopener noreferrer\">documentación oficial de PostHog\u003C\u002Fa>. Sigue siendo la referencia para las actualizaciones mayores y los casos de uso específicos.","Despliegue su instancia en un VPS Cloud ServOrbit","Un VPS Cloud ServOrbit con Docker preconfigurado y recursos escalables le permite instalar esta herramienta sin fricciones, y ajustar la RAM y las vCPU a medida que crece el uso.","Lanzar mi VPS Cloud","\u002Fvps-cloud",[161,179,195],{"id":162,"slug":163,"slugs":164,"title":168,"excerpt":169,"readTime":18,"views":170,"isPinned":19,"noindex":19,"publishedAt":171,"updatedAt":172,"category":173,"categories":174,"featuredImage":30,"bgImage":31,"posterImage":176,"relatedSolution":177},154,"como-alojar-matomo-en-un-vps",{"fr":165,"en":166,"ar":167,"es":163},"heberger-matomo-vps","how-to-host-matomo-on-a-vps","كيفية-استضافة-matomo-على-خادم-vps","Cómo alojar Matomo en un VPS","Despliegue Matomo en su VPS: alternativa completa a Google Analytics, con la propiedad al 100 % de sus datos, autoalojada con Docker y HTTPS. Guía paso a paso.",1,"2026-01-23T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[175],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-matomo-vps-poster.svg",{"categorySlug":34,"appSlug":178},"analytics-matomo",{"id":180,"slug":181,"slugs":182,"title":186,"excerpt":187,"readTime":18,"views":170,"isPinned":19,"noindex":19,"publishedAt":188,"updatedAt":172,"category":189,"categories":190,"featuredImage":30,"bgImage":31,"posterImage":192,"relatedSolution":193},153,"como-alojar-plausible-analytics-en-un-vps",{"fr":183,"en":184,"ar":185,"es":181},"heberger-plausible-vps","how-to-host-plausible-analytics-on-a-vps","كيفية-استضافة-plausible-analytics-على-خادم-vps","Cómo alojar Plausible Analytics en un VPS","Despliegue Plausible Analytics en su VPS: analítica ligera, sin cookies y conforme al RGPD, autoalojada con Docker, ClickHouse y HTTPS. Guía paso a paso.","2026-01-24T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[191],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-plausible-vps-poster.svg",{"categorySlug":34,"appSlug":194},"analytics-plausible",{"id":196,"slug":197,"slugs":198,"title":202,"excerpt":203,"readTime":196,"views":170,"isPinned":19,"noindex":19,"publishedAt":204,"updatedAt":205,"category":206,"categories":211,"featuredImage":30,"bgImage":31,"posterImage":213,"relatedSolution":214},8,"como-alojar-flowise-en-un-vps",{"fr":199,"en":200,"ar":201,"es":197},"heberger-flowise-vps","how-to-host-flowise-on-a-vps","كيفية-استضافة-flowise-على-خادم-vps","Cómo alojar Flowise en un VPS","Despliegue Flowise en su VPS: cree agentes y chatbots de IA sin código con Docker y SSL. Variables de entorno, RAG con Ollama, actualizaciones y troubleshooting.","2026-06-12T00:00:00+00:00","2026-09-19T02:00:43+00:00",{"id":170,"name":207,"slug":208,"color":209,"icon":210},"Inteligencia Artificial","intelligence-artificielle","bg-purple-500\u002F10 text-purple-400","ia",[212],{"id":170,"name":207,"slug":208,"color":209,"icon":210},"\u002Fblog\u002Fcovers\u002Fheberger-flowise-vps-poster.svg",{"categorySlug":215,"appSlug":216},"inteligencia-artificial","flowise",true,1794270571539]