Deploy to Digital Ocean
OpenReplay 스택은 한 대의 머신(드롭릿)에 설치할 수 있으며, Digital Ocean은 이에 적합한 환경입니다. 설치 방법은 다음과 같습니다.
드롭릿 생성
Section titled 드롭릿 생성- 아직 프로젝트가 없다면 새 프로젝트를 생성하고, 해당 프로젝트로 이동하여 ‘Create’ 드롭릿을 클릭합니다
- Ubuntu Server 24.04 LTS 이미지를 선택합니다
- ‘Shared CPU’를 선택하고
Regular Intel | 4 CPUs | 8GB플랜(x86 아키텍처)을 고릅니다. 이는 최소 사양이며, 이보다 낮으면 OpenReplay 백엔드 서비스가 시작되지 않습니다. 중간 정도의 트래픽에는 충분하지만, 트래픽이 많을 것으로 예상된다면 여기서부터 확장하세요. - ‘Authentication’에서 ‘New SSH key’를 클릭하고 안내에 따라 키를 생성합니다
- 머신 이름을 지정한 다음 ‘Create droplet’을 클릭합니다
OpenReplay 배포
Section titled OpenReplay 배포- 드롭릿이
active상태인지 확인한 다음 접속합니다:
## 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
- 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/SSL 구성OpenReplay는 민감한 사용자 데이터를 다루므로 실행하려면 HTTPS가 필요합니다. 이는 필수 사항으로, HTTPS가 없으면 트래커가 녹화를 시작하지 않습니다. 대시보드도 마찬가지로, HTTPS가 없으면 사용자 세션을 리플레이할 수 없습니다.
따라서 SSL 인증서를 직접 생성하거나 준비해야 합니다.
-
먼저 ‘Manage’ > ‘Networking’ > ‘Domains’(또는 다른 DNS 서비스 제공업체)로 이동하여
A Record를 생성합니다. 설치 단계에서 지정한 도메인을 사용하고, 드롭릿의 퍼블릭 IP(Droplets 탭에서 확인 가능)를 통해 해당 드롭릿을 가리키도록 설정합니다. -
직접 준비한 인증서를 사용하는 경우, 다음 명령으로 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로의 리디렉션을 활성화하려면(권장)
/var/lib/openreplay/vars.yaml의ingress-nginx섹션 아래에 있는 다음 블록의 주석을 해제하세요:
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)에 접속하여 계정을 만들 수 있습니다.
참고: 기존 로드 밸런서 뒤에서 OpenReplay를 실행할 수도 있습니다. 이 경우 로드 밸런서 수준에서 SSL을 구성하세요:
- Forwarding rules (Load Balancer)에서 Load Balancer 섹션의 HTTPS (443)를 선택한 다음 ‘Certificate’ > ‘Add a new certificate’를 클릭합니다. 도메인이 Digital Ocean에서 관리되는 경우 Let’s Encrypt 옵션의 안내를 따르면 됩니다. 그렇지 않은 경우에는 직접 인증서를 가져와야 합니다.
- Forwarding rules (Droplet)에서 Droplet 섹션의 HTTP (80)를 선택합니다.
질문이 있으신가요?
Section titled 질문이 있으신가요?문제가 발생하면 Slack에 접속하여 커뮤니티의 도움을 받으세요.