Desplegar en Scaleway

Guía paso a paso para desplegar OpenReplay en Scaleway Elements.

Desplegar en Scaleway

El stack de OpenReplay se puede instalar en una sola instancia y Scaleway Elements es un candidato ideal. Aquí te explicamos cómo hacerlo.

  1. Ve al Panel de control de Scaleway
  2. Navega a ‘Compute > Instances’ y luego haz clic en ‘Create an instance’
  3. Elige tu Zona de disponibilidad preferida
  4. Selecciona una imagen. Para esta guía, usaremos Ubuntu Server 20.04 Focal Fossa
  5. Elige el tipo de instancia. Las especificaciones mínimas son 2 vCPUs, 8 GB of RAM, 50 GB of storage, en una arquitectura x86, de lo contrario los servicios de backend de OpenReplay simplemente no se iniciarán. Por lo tanto, recomendamos al menos la DEV1-L (o una equivalente), que es suficiente para un volumen bajo/moderado. Si esperas un tráfico elevado, deberías escalar a partir de aquí.
  6. Añade volúmenes: Establece el tamaño en al menos 50 GB (ya sea almacenamiento local o por bloques)
  7. Dale a tu instancia un nombre bonito (p. ej. openreplay)
  8. Claves SSH: Asegúrate de tener ya una clave asociada a tu proyecto para poder conectarte a tu instancia
  9. Haz clic en ‘Create a new instance’

Nota: Los puertos SMTP (25, 465, 587) están bloqueados por defecto por Scaleway. Tu instancia de OpenReplay no podrá enviar correos electrónicos a menos que habilites SMTP desde la configuración de tu grupo de seguridad. Para ello, consulta este tutorial rápido.

  1. Asegúrate de que tu instancia esté Started y luego conéctate a ella:
## From your terminal
SSH_KEY=~/Downloads/openreplay-key.pem #! wherever you've saved the SSH key
INSTANCE_IP=REPLACE_WITH_INSTANCE_PUBLIC_IP
chmod 400 $SSH_KEY
ssh -i $SSH_KEY root@$INSTANCE_IP
  1. 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

OpenReplay maneja datos sensibles de los usuarios y, por lo tanto, requiere HTTPS para funcionar. Esto es obligatorio, de lo contrario el tracker simplemente no empezaría a grabar. Lo mismo ocurre con el dashboard: sin HTTPS no podrás reproducir las sesiones de los usuarios.

Por lo tanto, debes aportar (o generar) tu propio certificado SSL.

  1. Primero, ve a ‘Network’ > ‘DNS’ (o tu otro proveedor de servicios DNS) y crea un A Record. Usa el dominio que proporcionaste previamente durante el paso de instalación y apúntalo a la instancia mediante su IP pública (que se puede encontrar en ‘Compute’ > ‘Instances’).

  2. Si vas a aportar tu propio certificado, crea un secreto SSL usando 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 a la instancia de OpenReplay, ejecuta cd /var/lib/openreplay/openreplay/scripts/helmcharts && bash certmanager.sh y sigue los pasos.

  1. Si deseas habilitar la redirección de http a https (recomendado), descomenta el siguiente bloque, en 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
  1. Por último, reinstala 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 (p. ej. openreplay.mycompany.com/signup).

Si encuentras algún problema, conéctate a nuestro Slack o consulta nuestro Foro y obtén ayuda de nuestra comunidad.