Déployer sur Digital Ocean
La stack OpenReplay peut être installée sur une seule machine (droplet) et Digital Ocean est un candidat idéal. Voici comment procéder.
Créer un droplet
Section titled Créer un droplet- Créez un nouveau projet (si ce n’est pas déjà fait), puis accédez-y et cliquez sur ‘Create’ droplet
- Choisissez l’image Ubuntu Server 22.04 LTS
- Optez pour ‘Shared CPU’ et sélectionnez le plan
Regular Intel | 4 CPUs | 8GB(architecture x86). Ce sont les spécifications minimales, sans quoi les services backend d’OpenReplay ne démarreront tout simplement pas. Elles suffisent pour un volume modéré, mais si vous attendez un trafic élevé, vous devriez monter en gamme à partir de là. - Cliquez sur ‘New SSH key’ dans ‘Authentication’ et suivez les instructions pour générer une clé
- Donnez un nom à votre machine puis cliquez sur ‘Create droplet’
Déployer OpenReplay
Section titled Déployer OpenReplay- Assurez-vous que votre droplet est
active, puis connectez-vous à celui-ci :
## 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
- Installez OpenReplay en fournissant 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
Configurer TLS/SSL
Section titled Configurer TLS/SSLOpenReplay 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 générer (ou apporter) votre propre certificat SSL.
-
Tout d’abord, allez dans ‘Manage’ > ‘Networking’ > ‘Domains’ (ou votre autre fournisseur de services DNS) et créez un
A Record. Utilisez le domaine que vous avez fourni précédemment lors de l’étape d’installation et faites-le pointer vers le droplet via son IP publique (que l’on peut trouver dans l’onglet Droplets). -
Si vous apportez 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 au droplet OpenReplay, exécutez
cd /var/lib/openreplay/openreplay/scripts/helmcharts && bash certmanager.shet suivez les étapes.
- 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 facilement être modifié, si nécessaire, dans vars.yaml :
ingress-nginx: &ingress-nginx
controller:
service:
ports:
http: 80
https: 443
- 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 (c’est-à-dire openreplay.mycompany.com/signup).
Remarque : Vous pouvez également exécuter OpenReplay derrière un load balancer existant. Si tel est le cas, configurez alors votre SSL au niveau du LB :
- Dans les règles de transfert (Load Balancer) : sélectionnez HTTPS (443) dans la section Load Balancer puis cliquez sur ‘Certificate’ > ‘Add a new certificate’. Si votre domaine est géré par Digital Ocean, vous pouvez suivre les instructions de l’option Let’s Encrypt. Sinon, vous devez importer votre propre certificat.
- Dans les règles de transfert (Droplet) : sélectionnez HTTP (80) dans la section Droplet.
Des questions ?
Section titled Des questions ?Si vous rencontrez des problèmes, rejoignez notre Slack ou consultez notre Forum et obtenez de l’aide de notre communauté.