Desplegar en Scaleway
El stack de OpenReplay se puede instalar en una sola instancia y Scaleway Elements es un candidato ideal. Aquí te mostramos cómo hacerlo.
Lanzar una instancia
Section titled Lanzar una instancia- Ve al Panel de Scaleway
- Navega a ‘Compute > Instances’ y luego haz clic en ‘Create an instance’
- Elige tu Zona de Disponibilidad preferida
- Selecciona una imagen. Para esta guía, usaremos Ubuntu Server 24.04 LTS
- 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 backend de OpenReplay simplemente no se iniciarán. Por lo tanto, recomendamos al menos laDEV1-L(o una equivalente), que es suficiente para un volumen bajo/moderado. Si esperas un tráfico alto, deberías escalar a partir de aquí. - Agregar volúmenes: Establece el tamaño en al menos 50 GB (ya sea almacenamiento local o por bloques)
- Dale a tu instancia un buen nombre (por ejemplo, openreplay)
- Claves SSH: Asegúrate de que ya tengas una clave asociada a tu proyecto para que puedas conectarte a tu instancia
- Haz clic en ‘Create a new instance’
Nota: Los puertos SMTP (25, 465, 587) están bloqueados de forma predeterminada 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 hacerlo, consulta este tutorial rápido.
Desplegar OpenReplay
Section titled Desplegar OpenReplay- Asegúrate de que tu instancia esté
Startedy 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
- Instala OpenReplay proporcionando el dominio en el que se ejecutará (por ejemplo, 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: sin HTTPS no podrás reproducir las sesiones de los usuarios.
Por lo tanto, debes aportar (o generar) tu propio certificado SSL.
-
Primero, ve a ‘Network’ > ‘DNS’ (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 a la instancia usando su IP pública (se puede encontrar en ‘Compute’ > ‘Instances’). -
Si vas a aportar tu propio certificado, crea un secret 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.shy sigue los pasos.
- 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
Cabe mencionar que nuestro ingress-nginx se ejecuta de forma predeterminada 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 OpenReplay NGINX:
openreplay -R
Ya está todo listo, OpenReplay debería estar accesible en tu subdominio. Puedes crear una cuenta visitando la página /signup (por ejemplo, openreplay.mycompany.com/signup).
¿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.