Este artículo ofrece una guía paso a paso sobre cómo hacer el self-hosting de Capgo, además de analizar sus beneficios y desafíos.
Introducción
El self-hosting consiste en ejecutar tu propio sitio web o aplicación configurando tú mismo el servidor y la red. En lugar de usar un PaaS o un proveedor de nube pública, quienes eligen el self-hosting gestionan sus propias redes y son responsables del mantenimiento y la disponibilidad, además de desarrollar su sitio o aplicación.
La forma más fácil de empezar con Capgo es con nuestro servicio gestionado oficial en la nube, pero si prefieres gestionarlo tú mismo, también puedes hacer self-host de Capgo en tu propio servidor.
¿Qué es el self-hosting?
El self-hosting, en el ámbito digital, consiste en ejecutar tus propios servidores o infraestructura de hosting para gestionar y controlar tu presencia y servicios online. En lugar de depender de proveedores externos, individuos y organizaciones eligen configurar y administrar sus servidores, webs, aplicaciones y almacenamiento de datos bajo sus propios términos.
¿Por qué elegir el self-hosting?
Hay muchas razones para elegir el self-hosting. Algunos de los beneficios más comunes incluyen:
-
Privacidad y control: El self-hosting te da control total sobre tus datos y privacidad. No tienes que preocuparte de que terceros rastreen tu actividad o vendan tu información.
-
Ahorro de costes: El self-hosting puede ser más rentable a largo plazo, especialmente si consumes muchos recursos o ejecutas múltiples servicios.
-
Personalización: El self-hosting te ofrece la flexibilidad de personalizar tus aplicaciones y servicios para adaptarlos a tus necesidades específicas.
-
Aprendizaje y experimentación: El self-hosting puede ser una excelente forma de aprender sobre Linux, administración de sistemas y otros temas técnicos. También puede ser una manera divertida de experimentar con nuevo software y servicios.
-
Independencia: El self-hosting reduce tu dependencia de proveedores externos. No estás a merced de sus términos de servicio, cambios de precios o posibles interrupciones del servicio. Esta independencia puede ser crucial para empresas y particulares que dependen de su presencia online para funciones críticas.
¿Cuál es la diferencia entre Capgo Cloud y Capgo Self-Hosted?
Solo existe una versión de Capgo. Tanto mi producto Cloud como mi producto Self-Hosted son completamente iguales. No existe una versión comercial premium y exclusiva con un conjunto de funciones mejor o más completo.
Obtienes el mismo dashboard, las mismas métricas accionables y el mismo compromiso con respetar la privacidad de tus visitantes con ambos.
Empecé a desarrollar Capgo en diciembre de 2018 y lancé el negocio de suscripciones SaaS en mayo de 2019. El proyecto está muy vivo, se desarrolla activamente y crece rápido. Además, es robusto y está probado en entornos reales.
Estas son las diferencias entre Capgo Cloud y Capgo Self-Hosted:
| Nube | Autoalojado | |
|---|---|---|
| Hosting | Fácil y cómodo. En solo 2 minutos puedes empezar a enviar tu primer update. Alta disponibilidad, backups, seguridad y mantenimiento: yo me encargo de todo para que no tengas que preocuparte por nada. | Tú lo haces todo. Necesitas conseguir un servidor y gestionar tu propia infraestructura. Eres responsable de la instalación, el mantenimiento, las actualizaciones, la capacidad del servidor, el uptime, los backups, la seguridad, la estabilidad, la consistencia, los tiempos de carga y más. |
| Almacenamiento | Todos los datos de los visitantes se procesan exclusivamente en infraestructura cloud de propiedad europea. Mantengo los datos de tu sitio en un servidor seguro y cifrado en Alemania. Esto garantiza que tus datos estén protegidos por las estrictas leyes de privacidad de la UE y asegura el cumplimiento del RGPD. Tus datos nunca salen de la UE. | Tienes control total y puedes alojar tu Capgo en cualquier servidor de cualquier país que quieras. Alójalo en un servidor en tu sótano o alójalo con cualquier proveedor cloud donde quieras, incluso los que no cumplen con el RGPD. |
| Datos brutos | Puedes ver todas las stats y métricas de tu sitio en mi dashboard moderno, fácil de usar y que carga rápido. Solo puedes ver las estadísticas agregadas en el dashboard. | ¿Eres analista y quieres acceso a los datos brutos? Alojar Capgo por tu cuenta te da esa opción. Toma los datos directamente de la base de datos e impórtalos a la herramienta de análisis de datos que prefieras. |
| Costes | Hay un coste asociado a ofrecer un servicio de actualizaciones, así que cobro una cuota de suscripción. | Solo tienes que pagar por tu servidor y los costes asociados a su ejecución. Nunca tendrás que pagarme nada a mí, solo a tu proveedor de cloud. |
| Soporte premium | Soporte real de personas reales que desarrollan y mantienen Capgo. | No incluye soporte premium. La versión self-hosted cuenta únicamente con soporte de la comunidad. |
| Versiones | Desarrollo continuo con nuevas funcionalidades y actualizaciones varias veces por semana. | Es una versión LTS que se publica dos veces al año, por lo que las últimas funciones no estarán disponibles de inmediato, ya que primero se testean en la nube. |
Cómo hacer self-host de Capgo
En Capgo usamos principalmente Supabase; para el self-hosting solo tienes que seguir la documentación de self-hosting de Supabase.
Uso de CLI con capgo autoalojado
Para usar CLI con capgo self-hosted, edita el archivo capacitor.config.ts en el directorio de tu app y configúralo así:
const config: CapacitorConfig = {
appId: 'com.demo.app',
appName: 'demoApp',
webDir: 'dist',
bundledWebRuntime: false,
plugins: {
CapacitorUpdater : {
localHost: "http://localhost:5173",
localWebHost: "http://localhost:5173",
localSupa: "http://localhost:54321",
localSupaAnon: "see_notes",
},
},
};
Nota: Para obtener localSupaAnon, sigue este tutorial y copia la anon key en localSupaAnon
Uso del actualizador capacitor con capgo autoalojado
Requisito
Clonado capgo
Para usar el updater de capacitor con capgo self-hosted, edita el capacitor.config.ts desde el directorio de tu app y configúralo así:
const config: CapacitorConfig = {
appId: 'com.demo.app',
appName: 'demoApp',
webDir: 'dist',
bundledWebRuntime: false,
plugins: {
CapacitorUpdater : {
statsUrl: "https://localhost:54321/functions/v1/stats",
channelUrl: "https://localhost:54321/functions/v1/channel_self",
updateUrl: "https://localhost:54321/functions/v1/updates"
},
},
};
Esto te permitirá usar capgo en local durante el desarrollo. Sin embargo, por defecto no es suficiente.
Sí que necesitas configurar HTTPS en ambos SO para poder probar
Conclusión
En conclusión, el self-hosting de Capgo puede ser una buena opción para organizaciones con los recursos y la experiencia necesaria. Ofrece beneficios como el control sobre el proceso de actualización, seguridad y cumplimiento. Sin embargo, es vital evaluar bien los pros y contras antes de decidirse por el self-hosting.
Si estás pensando en hacer el self-hosting de Capgo, te recomiendo empezar leyendo la Capgo documentación de self-hosting. Esto te permitirá entender bien los requisitos y riesgos de esta opción.
Continúa desde Capgo self-hosted
Si estás usando Capgo self-hosted para planificar la automatización de CI/CD, conéctalo con CI/CD de Capgo para el flujo de trabajo del producto en Capgo CI/CD, Native Builds de Capgo para el flujo de trabajo del producto en Capgo Native Builds, Integraciones de Capgo para el flujo de trabajo del producto en Capgo Integraciones, Integración CI/CD para los detalles de implementación de CI/CD Integration, y Integración con GitHub Actions para los detalles de implementación de GitHub Actions Integration.