Deploy to Scaleway

OpenReplay stack can be installed on a single instance and Scaleway Elements is an ideal candidate. Here’s how to do it.

  1. Go to Scaleway Dashboard
  2. Navigate to ‘Compute > Instances’ then click ‘Create an instance’
  3. Choose your preferred Availability Zone
  4. Select an Image. For this guide, we’ll be using Ubuntu Server 20.04 Focal Fossa
  5. Choose your instance type. The minimum specs are 2 vCPUs, 8 GB of RAM, 50 GB of storage, otherwise OpenReplay backend services won’t simply start. So, we recommend at least the DEV1-L (or an equivalent), which is enough for a low/moderate volume. If you’re expecting high traffic, you should scale from here.
  6. Add Volumes: Set the size to at least 50 GB (whether local or block storage)
  7. Give your instance a sweet name (i.e. openreplay)
  8. SSH Keys: Make sure you already have a key associated with your project so you can connect to your instance
  9. Click ‘Create a new instance’

Note: The SMTP ports (25, 465, 587) are blocked by default by Scaleway. Your OpenReplay instance won’t be able to send emails unless you enable SMTP from your security group configuration. To do so, check this quick tutorial.

  1. Make sure your instance is Started then connect to it:
## 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. Install OpenReplay by providing the domain on which it will be running (e.g. 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 deals with sensitive user data and therefore requires HTTPS to run. This is mandatory, otherwise the tracker simply wouldn’t start recording. Same thing for the dashboard, without HTTPS you won’t be able to replay user sessions.

You must therefore bring (or generate) your own SSL certificate.

  1. First, go to ‘Network’ > ‘DNS’ (or your other DNS service provider) and create an A Record. Use the domain you previously provided during the installation step and point it to the instance using its public IP (can be found in ‘Compute’ > ‘Instances’).

  2. If you’re bringing your own certificate, create an SSL secret using the following command: kubectl create secret tls openreplay-ssl -n app --key="private_key_file.pem" --cert="certificate.crt".

Note: If you don’t have a certificate, generate one, that auto-renews, for your subdomain (the one provided during installation) using Let’s Encrypt. Simply connect to OpenReplay instance, run cd /var/lib/openreplay/openreplay/scripts/helmcharts && bash certmanager.sh and follow the steps.

  1. If you wish to enable http to https redirection (recommended), then uncomment the below block, under the ingress-nginx section, in /var/lib/openreplay/vars.yaml:
ingress-nginx: &ingress-nginx
  controller:
    config:
      ssl-redirect: true
      force-ssl-redirect: true

It’s worth mentioning that our ingress-nginx runs by default on ports 80|443, but this can be easily changed, if needed, in vars.yaml:

ingress-nginx: &ingress-nginx
  controller:
    service:
      ports:
        http: 80
        https: 443
  1. Finally reinstall OpenReplay NGINX:
openreplay -R

You’re all set now, OpenReplay should be accessible on your subdomain. You can create an account by visiting the /signup page (i.e. openreplay.mycompany.com/signup).

If you encounter any issues, connect to our Slack or check out our Forum and get help from our community.