Развёртывание в Scaleway
Стек OpenReplay можно установить на одном инстансе, и Scaleway Elements является идеальным кандидатом для этого. Вот как это сделать.
Запуск инстанса
Section titled Запуск инстанса- Перейдите в панель управления Scaleway
- Перейдите в ‘Compute > Instances’, затем нажмите ‘Create an instance’
- Выберите предпочитаемую зону доступности (Availability Zone)
- Выберите образ. В этом руководстве мы будем использовать Ubuntu Server 24.04 LTS
- Выберите тип инстанса. Минимальные характеристики —
2 vCPUs, 8 GB of RAM, 50 GB of storageна архитектуре x86, иначе серверные сервисы OpenReplay просто не запустятся. Поэтому мы рекомендуем как минимумDEV1-L(или эквивалент), которого достаточно для низкого/умеренного объёма. Если вы ожидаете высокий трафик, вам следует масштабироваться, начиная с этого уровня. - Добавьте тома: укажите размер не менее 50 GB (будь то локальное или блочное хранилище)
- Дайте своему инстансу красивое имя (например, openreplay)
- SSH-ключи: убедитесь, что у вас уже есть ключ, связанный с вашим проектом, чтобы вы могли подключиться к инстансу
- Нажмите ‘Create a new instance’
Примечание: Порты SMTP (25, 465, 587) по умолчанию заблокированы Scaleway. Ваш инстанс OpenReplay не сможет отправлять электронные письма, пока вы не включите SMTP в настройках вашей группы безопасности. Чтобы сделать это, ознакомьтесь с этим кратким руководством.
Развёртывание OpenReplay
Section titled Развёртывание OpenReplay- Убедитесь, что ваш инстанс находится в состоянии
Started, затем подключитесь к нему:
## 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
- Установите OpenReplay, указав домен, на котором он будет работать (например, 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
Настройка TLS/SSL
Section titled Настройка TLS/SSLOpenReplay работает с конфиденциальными данными пользователей и поэтому требует HTTPS для работы. Это обязательно, иначе трекер просто не начнёт запись. То же самое касается панели управления — без HTTPS вы не сможете воспроизводить пользовательские сессии.
Поэтому вы должны предоставить (или сгенерировать) собственный SSL-сертификат.
-
Сначала перейдите в ‘Network’ > ‘DNS’ (или к вашему другому поставщику услуг DNS) и создайте
A Record. Используйте домен, который вы ранее указали на этапе установки, и направьте его на инстанс, используя его публичный IP-адрес (его можно найти в ‘Compute’ > ‘Instances’). -
Если вы используете собственный сертификат, создайте SSL-секрет с помощью следующей команды:
kubectl create secret tls openreplay-ssl -n app --key="private_key_file.pem" --cert="certificate.crt".
Примечание: Если у вас нет сертификата, сгенерируйте автоматически обновляемый сертификат для вашего поддомена (того, который вы указали при установке) с помощью Let’s Encrypt. Просто подключитесь к инстансу OpenReplay, выполните
cd /var/lib/openreplay/openreplay/scripts/helmcharts && bash certmanager.shи следуйте инструкциям.
- Если вы хотите включить перенаправление с http на https (рекомендуется), раскомментируйте приведённый ниже блок в разделе
ingress-nginxв файле/var/lib/openreplay/vars.yaml:
ingress-nginx: &ingress-nginx
controller:
config:
ssl-redirect: true
force-ssl-redirect: true
Стоит отметить, что наш ingress-nginx по умолчанию работает на портах 80|443, но это можно легко изменить при необходимости в vars.yaml:
ingress-nginx: &ingress-nginx
controller:
service:
ports:
http: 80
https: 443
- Наконец, переустановите OpenReplay NGINX:
openreplay -R
Теперь всё готово, OpenReplay должен быть доступен на вашем поддомене. Вы можете создать учётную запись, посетив страницу /signup (например, openreplay.mycompany.com/signup).
Есть вопросы?
Section titled Есть вопросы?Если у вас возникнут какие-либо проблемы, подключайтесь к нашему Slack или загляните на наш Форум и получите помощь от нашего сообщества.