OpenVidu... 튜토리얼 코드도 분석하기 쉽지 않았는데, ec2에 올리는게 더 쉽지 않았다ㅜㅜㅜ
심지어 OpenVidu v3가 2024년 6월에 출시된거라 참고 자료 찾기도 어렵더라ㅠㅠ.. 심지어 이미 v3를 기반으로 어느정도 코드는 짜 놓은 상태라 더더욱 포기하기 싫었다..!!
내가 봤던 ec2 서버에 올리는 자료들은 전부 다 OpenVidu v2 관련한 것이여서 v3랑은 달라진 점이 많아 많이 애를 먹었다. 그래서 v3를 ec2에 어떻게 올릴 수 있었는지 3일간의 과정을 공유해보고자 한다..
OpenVidu Single Node Installation: On-premises
일단 OpenVidu를 사용하기 위해서는 지켜야 할 포트 규칙들이 많다. 이 설정을 통해 지정된 포트를 통해 들어오는 요청을 허용할 수 있도록 만들어 주어야 한다.
아래는 포트를 설정할 수 있는 명령어다.
$ sudo ufw allow 80/tcp
$ sudo ufw allow 50000:60000/udp
443, 1935, 7881, 7885, 9000 등의 포트들도 공식문서에서 요구하는 대로 위 명령어를 활용해 설정해주자!
$ sh <(curl -fsSL http://get.openvidu.io/community/singlenode/latest/install.sh)
공식문서에서 알려주는 설치 명령어다!
여러 자료들을 찾아보니 보통 opt 라는 경로에 설치해주는 것이 일반적이라고 하길래 opt 경로에서 위의 명령어를 실행해주었다.
설치가 완료되면 이런 화면을 볼 수 있다!
설치를 다 했으면 아래의 명령어를 실행하라고 해서 했는데...
$ systemctl start openvidu
이걸 실행해도 dashboard 같은 기본 화면조차 안 들어가졌다ㅜㅜ
확인해보니 아예 docker 실행에서부터 오류가 나서 계속 안되는거였더라..
뭘 찾아봐야할지도 모르겠고 그냥 GPT랑 씨름함..ㅎ
$ nano /etc/systemd/system/openvidu.service
ExecStartPre같은 항목에서 docker-compose를 실행하는 경로가 올바르지 않았다.
따라서 해당 내용을 수정!
$ systemctl start openvidu
이 파일을 수정한 후에 바로 위의 명령어를 수행하면 오류가 난다.
$ systemctl daemon-reload
이 명령어를 먼저 수행해주자!
1번까지 했는데도 자꾸 Docker Compose에서 docker-compose.yaml에서 작성된 MONGO 관련 환경변수들을 못 가져오는 오류들이 발생했다.
아무리 오류를 살펴보고 관련 파일 내용들을 읽어봐도 도대체 왜 MONGO에서만 그런 문제가 발생하는건지 찾을 수가 없더라..
docker-compose.yaml에 그냥 MONGO_ADMIN_USERNAME, MONGO_ADMIN_PASSWORD 등 문제가 발생한 곳에 바로 값을 넣어줄까 하다가 그건 좀..;; 싶어서 다른 방법을 찾.았.다!
이때부터 GPT랑 씨름 시작
Docker의 버전 문제라고는 생각도 못하고 OpenVidu 관련 설정 파일들만 계속 수정을 하면서 3일 동안 테스트를 했는데, 계속해서 해결이 안 되었다. 그러던 중 확인해보게 된 Docker 버전.
Docker 관련 버전들을 확인하니 docker --version은 비교적 최신이라 괜찮은데, docker-compose의 버전이 너무 낮았다.
OpenVidu의 docker-compose.yaml은 v2.x 이상에서 사용하는 기능들을 포함하고 있는데, v1.x에서는 이를 해석하지 못해서 그렇다고 한다.(GPT 왈)
그래서 docker-compose의 버전을 한번 업그레이드 해보았다.
$ sudo apt-get remove docker-compose -y
$ sudo apt install jq
Docker Compose의 최신 버전을 가져오기 위해 설치한다.
이를 활용해 GitHub API로부터 JSON 데이터를 처리할 때 사용한다.
$ VERSION=$(curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r)
// curl 명령어로 Docker Compose의 GitHub 릴리스 API에서 최신 릴리스 정보를 가져옴.
$ DESTINATION=/usr/bin/docker-compose
//Docker Compose를 설치할 경로를 지정
$ sudo curl -L https://github.com/docker/compose/releases/download/${VERSION}/docker-compose-$(uname -s)-$(uname -m) -o $DESTINATION
//curl 명령으로 Docker Compose의 최신 버전을 다운로드
$ sudo chmod 755 $DESTINATION
//다운로드한 Docker Compose 바이너리에 실행 권한을 부여
설치를 하다보면 중간에 이런 화면이 뜰 수도 있는데, 난 그냥 기본 설정을 따라서 <Ok>만 선택해주었다.
최종적으로 이렇게 버전을 업그레이드 해주었다!
성공적으로 OpenVidu가 ec2에 올라갔다면, https://<DOMAIN_NAME>/ 으로 접속했을 때 이 같은 화면이 나온다!
혹시 몰라서 ec2 서버의 과금이 걱정되어 OpenVidu 컨테이너들을 중지시키려고 했었다.
그런데 단순히 docker-compose down으로는 중지가 되지 않네..?
docker-compose.yaml 파일을 뒤적거려보니 도커에서 실행이 중지가 되면 자동으로 재시작이 되도록 작성이 되어있는 것을 발견했다.
따라서 어떻게 중지시켜야 할까.. 고민하다가 공식문서에서 OpenVidu를 실행할 때 사용한다고 알려준 명령어를 반대로 작성하면 되는거 아닐까? 하다가 방법을 찾았다!
결론적으로
$ systemctl stop openvidu
이 명령어로 중지시킬 수 있다!
다시 실행하고 싶다면 아래와 같은 명령어로 실행하면 된다!
$ systemctl start openvidu
정말 OpenVidu 3버전 관련해서 배포 관련 문서를 찾아보기가 어려웠다.
그러다가 어쩔 수 없이 GPT에도 의존해보기도 하고 나도 OpenVidu 관련 문서나 설정 파일들을 여러번 읽어보게 되었다.
하지만 GPT 조차도 관련 문서들을 찾아보기 어렵다보니 해결책을 준다고 주는 게 다 v2 관련한거더라😂
그래서 계속해서 내 상황을 다시 설명하고 문제점을 찾아보고... 나도 OpenVidu 관련한 설정파일들을 꼼꼼히 살펴보고.. 이런 상황의 연속이였는데 결국 해결할 수 있게 되서 너무나 뿌듯하다!!
계속해서 반복적인 대화를 진행하면서 GPT의 성능을 의심하기도 하였지만..ㅋㅋㅋㅋ
결정적으로 docker compose의 버전 문제를 찾아준 게 GPT였다.
정~~~ 문서를 찾아보기 힘들다면 GPT를 한번 끝까지 쪼아보자!! 돌고돌아가는 과정인 것 같기는 하지만.. GPT가 주는 여러 방안들 중에서 하나를 건질 수 있다면 좋은 게 아닐까..?(해답 찾기까지 너무 오래 걸리긴 함;;)
이 페이지의 이미지 일부에는 네이버에서 제공한 나눔글꼴이 포함되어 있습니다.
openvidu v3 EC2 국내 배포 1등 축하드려요~^^