Déployer sur Scaleway

Guide étape par étape pour déployer OpenReplay sur Scaleway Elements.

Déployer sur Scaleway

La stack OpenReplay peut être installée sur une seule instance et Scaleway Elements est un candidat idéal. Voici comment procéder.

  1. Accédez au tableau de bord Scaleway
  2. Naviguez vers ‘Compute > Instances’ puis cliquez sur ‘Create an instance’
  3. Choisissez votre zone de disponibilité préférée
  4. Sélectionnez une image. Pour ce guide, nous utiliserons Ubuntu Server 20.04 Focal Fossa
  5. Choisissez le type de votre instance. Les spécifications minimales sont 2 vCPUs, 8 GB of RAM, 50 GB of storage, sinon les services backend d’OpenReplay ne démarreront tout simplement pas. Nous recommandons donc au moins la DEV1-L (ou une équivalente), ce qui suffit pour un volume faible/modéré. Si vous attendez un trafic élevé, vous devriez monter en gamme à partir de là.
  6. Ajoutez des volumes : définissez la taille à au moins 50 Go (stockage local ou par blocs)
  7. Donnez un joli nom à votre instance (par exemple, openreplay)
  8. Clés SSH : assurez-vous d’avoir déjà une clé associée à votre projet afin de pouvoir vous connecter à votre instance
  9. Cliquez sur ‘Create a new instance’

Remarque : Les ports SMTP (25, 465, 587) sont bloqués par défaut par Scaleway. Votre instance OpenReplay ne pourra pas envoyer d’e-mails tant que vous n’aurez pas activé le SMTP depuis la configuration de votre groupe de sécurité. Pour ce faire, consultez ce tutoriel rapide.

  1. Assurez-vous que votre instance est Started puis connectez-vous à elle :
## 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. Installez OpenReplay en indiquant le domaine sur lequel il s’exécutera (par exemple 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 traite des données utilisateur sensibles et nécessite donc HTTPS pour fonctionner. Cela est obligatoire, sinon le tracker ne commencerait tout simplement pas à enregistrer. Il en va de même pour le tableau de bord : sans HTTPS, vous ne pourrez pas rejouer les sessions des utilisateurs.

Vous devez donc fournir (ou générer) votre propre certificat SSL.

  1. Tout d’abord, accédez à ‘Network’ > ‘DNS’ (ou votre autre fournisseur de service DNS) et créez un A Record. Utilisez le domaine que vous avez précédemment indiqué lors de l’étape d’installation et pointez-le vers l’instance via son IP publique (que vous pouvez trouver dans ‘Compute’ > ‘Instances’).

  2. Si vous fournissez votre propre certificat, créez un secret SSL à l’aide de la commande suivante : kubectl create secret tls openreplay-ssl -n app --key="private_key_file.pem" --cert="certificate.crt".

Remarque : Si vous n’avez pas de certificat, générez-en un, qui se renouvelle automatiquement, pour votre sous-domaine (celui fourni lors de l’installation) à l’aide de Let’s Encrypt. Connectez-vous simplement à l’instance OpenReplay, exécutez cd /var/lib/openreplay/openreplay/scripts/helmcharts && bash certmanager.sh et suivez les étapes.

  1. Si vous souhaitez activer la redirection de http vers https (recommandé), décommentez le bloc ci-dessous, sous la section ingress-nginx, dans /var/lib/openreplay/vars.yaml :
ingress-nginx: &ingress-nginx
  controller:
    config:
      ssl-redirect: true
      force-ssl-redirect: true

Il convient de mentionner que notre ingress-nginx s’exécute par défaut sur les ports 80|443, mais cela peut être facilement modifié, si nécessaire, dans vars.yaml :

ingress-nginx: &ingress-nginx
  controller:
    service:
      ports:
        http: 80
        https: 443
  1. Enfin, réinstallez le NGINX d’OpenReplay :
openreplay -R

Tout est prêt maintenant, OpenReplay devrait être accessible sur votre sous-domaine. Vous pouvez créer un compte en visitant la page /signup (par exemple, openreplay.mycompany.com/signup).

Si vous rencontrez des problèmes, connectez-vous à notre Slack ou consultez notre Forum et obtenez de l’aide de notre communauté.