Cómo instalar Typesense en un Droplet de DigitalOcean con Ubuntu LTS

30 de diciembre de 2024
Cuando tu sitio o aplicación requiere un buscador rápido y altamente personalizable, Typesense puede convertirse en una gran alternativa. En este artículo te explicaré cómo crear un Droplet en DigitalOcean y configurar Typesense en un entorno Ubuntu LTS de forma rápida y sencilla.
1. ¿Por qué usar DigitalOcean y Ubuntu LTS?
DigitalOcean ofrece un panel de control intuitivo y una infraestructura confiable para desplegar servidores virtuales (Droplets). Por otro lado, Ubuntu LTS (Long Term Support) garantiza actualizaciones de seguridad y estabilidad durante cinco años, lo que la hace ideal para entornos de producción.
2. Crear un Droplet en DigitalOcean
-
Inicia sesión
- Accede a tu cuenta de DigitalOcean.
-
Crea un nuevo Droplet
- En el panel, haz clic en Create > Droplets.
- Elige la imagen de Ubuntu LTS (por ejemplo, 22.04 o la más reciente que esté disponible como LTS).
- Selecciona un plan con al menos 2 GB de RAM para un rendimiento óptimo.
-
Configura el acceso y el firewall
- Agrega tu clave SSH para conectarte sin contraseña.
- Asigna un nombre a tu Droplet, por ejemplo,
typesense-droplet. - En Networking > Firewalls, asegúrate de abrir el puerto 22 (SSH) y, si lo requieres, los puertos 80 (HTTP) y 443 (HTTPS).
- Si planeas exponer Typesense a internet, habilita el puerto 8108 (o el que uses en tu configuración).
-
Crea el Droplet
- Pulsa Create Droplet y aguarda unos minutos hasta que se complete.
3. Instalar Typesense en Ubuntu
-
Accede al servidor vía SSH
Desde tu terminal local, conéctate al Droplet:ssh root@<IP_DEL_DROPLET>(Si utilizas otro usuario, reemplázalo por
root.) -
Actualiza el sistema
Una vez dentro del servidor, ejecuta:sudo apt update && sudo apt upgrade -yAsí te aseguras de contar con los últimos parches y actualizaciones.
-
Descarga el paquete de Typesense
Visita la página oficial de Typesense para conocer la versión disponible. Por ejemplo, si la versión es 27.1, descarga el paquete.deb:curl -O https://dl.typesense.org/releases/27.1/typesense-server-27.1-amd64.deb -
Instala el paquete
Utilizadpkgpara instalar:sudo dpkg -i typesense-server-27.1-amd64.debSi se presentan errores de dependencias, corrígelos con:
sudo apt-get install -f -
Verifica la instalación
Confirma la ruta del binario:which typesense-serverDebería indicarte algo como
/usr/bin/typesense-server. -
Configura Typesense
- Crea (o edita) el archivo de configuración en
/etc/typesense/typesense-server.ini:[server] api-key = TU_API_KEY_SEGURA listen-port = 8108 data-dir = /var/lib/typesense - Cambia
TU_API_KEY_SEGURApor una clave segura de tu elección. - Ajusta el puerto si prefieres uno distinto al 8108.
- Crea (o edita) el archivo de configuración en
-
Prepara el directorio de datos
sudo mkdir -p /var/lib/typesense sudo chown -R root:root /var/lib/typesenseAsegúrate de que el usuario que ejecute Typesense tenga acceso de lectura/escritura.
-
Inicia el servicio
Comprueba si se creó un serviciotypesense-server:systemctl status typesense-serverSi aparece active (running), ¡perfecto! Si no:
sudo systemctl start typesense-server sudo systemctl enable typesense-serverEsto garantizará que Typesense se inicie automáticamente al reiniciar el servidor.
-
Configura el firewall
- Si deseas que tu servidor acepte conexiones externas en el puerto 8108, habilítalo también en el firewall de DigitalOcean.
- Si usas
ufwen el Droplet, ejecuta:sudo ufw allow 8108/tcp sudo ufw reload
4. Verifica que todo funcione
Para comprobar que Typesense está disponible, usa:
curl http://localhost:8108/health
Deberías recibir una respuesta JSON indicando que el servidor está funcionando.
Conclusión
¡Listo! Con estos pasos has instalado Typesense en un Droplet de DigitalOcean con Ubuntu LTS. Ahora cuentas con una infraestructura de búsqueda lista para manejar índices, escalabilidad y flexibilidad. Puedes personalizar tus consultas, relevancia y mucho más, todo desde tu nuevo servicio de Typesense.
¡Espero que esta guía te haya sido útil! Si tienes dudas o quieres compartir tu experiencia, déjalas en los comentarios. ¡Nos leemos en el próximo artículo!