Desplegar en Digital Ocean
El stack de OpenReplay puede instalarse en una sola máquina (droplet) y Digital Ocean es un candidato ideal. Aquí te explicamos cómo hacerlo.
Crear un droplet
Section titled Crear un droplet- Crea un nuevo proyecto (si aún no lo has hecho), luego navega hasta él y haz clic en ‘Create’ droplet
- Elige la imagen Ubuntu Server 24.04 LTS
- Opta por ‘Shared CPU’ y selecciona el plan
Regular Intel | 4 CPUs | 8GB(arquitectura x86). Estas son las especificaciones mínimas, de lo contrario los servicios backend de OpenReplay simplemente no se iniciarán. Son suficientes para un volumen moderado, pero si esperas mucho tráfico, deberías escalar a partir de aquí. - Haz clic en ‘New SSH key’ en ‘Authentication’ y sigue las instrucciones para generar una clave
- Dale un nombre a tu máquina y luego pulsa ‘Create droplet’
Desplegar OpenReplay
Section titled Desplegar OpenReplay- Asegúrate de que tu droplet esté
activey luego conéctate a él:
## From your terminal
SSH_KEY=~/Downloads/openreplay-key.pem ## wherever you've saved the SSH key
INSTANCE_IP=REPLACE_WITH_DROPLET_PUBLIC_IP
chmod 400 $SSH_KEY
ssh -i $SSH_KEY root@$INSTANCE_IP
- Instala OpenReplay proporcionando el dominio en el que se ejecutará (p. ej. DOMAIN_NAME=openreplay.mycompany.com):
sudo wget https://raw.githubusercontent.com/openreplay/openreplay/main/scripts/helmcharts/openreplay-cli -O /bin/openreplay
sudo chmod +x /bin/openreplay
openreplay -i DOMAIN_NAME
Configurar TLS/SSL
Section titled Configurar TLS/SSLOpenReplay maneja datos sensibles de los usuarios y, por lo tanto, requiere HTTPS para funcionar. Esto es obligatorio, de lo contrario el tracker simplemente no comenzaría a grabar. Lo mismo ocurre con el panel de control: sin HTTPS no podrás reproducir las sesiones de los usuarios.
Por lo tanto, debes generar (o aportar) tu propio certificado SSL.
-
Primero, ve a ‘Manage’ > ‘Networking’ > ‘Domains’ (o tu otro proveedor de servicios DNS) y crea un
A Record. Usa el dominio que proporcionaste anteriormente durante el paso de instalación y apúntalo al droplet utilizando su IP pública (que puedes encontrar en la pestaña Droplets). -
Si vas a aportar tu propio certificado, crea un secreto SSL con el siguiente comando:
kubectl create secret tls openreplay-ssl -n app --key="private_key_file.pem" --cert="certificate.crt".
Nota: Si no tienes un certificado, genera uno, que se renueve automáticamente, para tu subdominio (el que proporcionaste durante la instalación) usando Let’s Encrypt. Simplemente conéctate al droplet de OpenReplay, ejecuta
cd /var/lib/openreplay/openreplay/scripts/helmcharts && bash certmanager.shy sigue los pasos.
- Si deseas habilitar la redirección de http a https (recomendado), descomenta el siguiente bloque, bajo la sección
ingress-nginx, en/var/lib/openreplay/vars.yaml:
ingress-nginx: &ingress-nginx
controller:
config:
ssl-redirect: true
force-ssl-redirect: true
Vale la pena mencionar que nuestro ingress-nginx se ejecuta por defecto en los puertos 80|443, pero esto se puede cambiar fácilmente, si es necesario, en vars.yaml:
ingress-nginx: &ingress-nginx
controller:
service:
ports:
http: 80
https: 443
- Por último, reinstala el NGINX de OpenReplay:
openreplay -R
Ya está todo listo, OpenReplay debería ser accesible en tu subdominio. Puedes crear una cuenta visitando la página /signup (es decir, openreplay.mycompany.com/signup).
Nota: También puedes ejecutar OpenReplay detrás de un balanceador de carga existente. Si es ese tu caso, configura tu SSL a nivel del balanceador de carga (LB):
- En las reglas de reenvío (Load Balancer): Selecciona HTTPS (443) en la sección Load Balancer y luego haz clic en ‘Certificate’ > ‘Add a new certificate. Si tu dominio está gestionado por Digital Ocean, puedes seguir las instrucciones de la opción Let’s Encrypt. De lo contrario, debes importar tu propio certificado.
- En las reglas de reenvío (Droplet): Selecciona HTTP (80) en la sección Droplet.
¿Tienes preguntas?
Section titled ¿Tienes preguntas?Si encuentras algún problema, conéctate a nuestro Slack o consulta nuestro Foro y obtén ayuda de nuestra comunidad.