roi는 vfx 파이프라인 관리를 위한 웹 앱입니다.
원래 studio2l에서 오픈소스로 개발되었으나, 회사 사정으로 개발이 중단되면서 imagvfx에서 이어받아 개발합니다.
roi는 아직 디자인이 끝나지 않았으며, 구현의 초기 단계입니다.
즉, 언제든 모든 것이 바뀔수 있습니다.
roi는 go1.13 이상의 버전에서 컴파일 하는 것을 추천합니다.
아래에서는 ~/roi 를 레포지터리 루트로 하여 설치 및 실행하는 방법을 다룹니다.
cd ~
git clone https://github.com/imagvfx/roi
cd ~/roi/cmd/roi
go build
roi는 cockroach db 를 사용합니다.
cockroach db는 postgresql의 호환 문법을 사용하며, 쉽게 스케일을 키울수 있는 db입니다.
이 곳에서 최신 버전을 다운로드 받으실 수 있습니다.
다운로드 받은 후 원하는 곳에서 실행하시면 그 아래에 cockroach-data 디렉토리가 생성되며 실행됩니다.
cockroach db를 실행하려면 우선 db 인증서를 생성해야 합니다.
cd ~/roi/cmd/roi
./init-db
roi를 실행하기전 먼저 DB를 실행해야 합니다.
cd ~/roi/cmd/roi
./start-db
이제 새 터미널에서 roi를 실행합니다. 아래 예제에서는 -insecure 플래그를 써 http 프로토콜로 프로그램을 실행하지만, 도메인이 있는 서버에서는 네트워크간 전송되는 정보를 보호할 수 있는 https 프로토콜을 사용하는 것이 좋습니다.
# 서버 실행
cd ~/roi/cmd/roi
sudo ./roi -insecure
이제 http://localhost 페이지를 살펴보세요.
https 프로토콜을 사용하고 싶으나, 비용 또는 여타 문제로 인증서 구매/발급이 어려울 때 자가서명인증서를 사용해야만 합니다.
cd ~/roi/cmd/roi
gen-self-signed-cert.sh
이 인증서는 온전한 것이 아니고 사용하는 동안에는 브라우저에서 접근시 경고가 표시되니 개발 중 임시로만 사용하셔야 합니다.
호스트를 가지고 있다면 Let's Encrypt 등의 사이트에서 인증을 받으시길 추천합니다.
-insecure 플래그를 제외하면 기본적으로 roi는 https 프로토콜을 사용합니다.
cd ~/roi/cmd/roi
sudo ./roi
로이가 사용하는 환경변수는 다음과 같습니다.
ROI_ADDR: -addr 플래그를 지정하지 않았을때 서버가 바인딩하고, 클라이언트가 접근하는 주소입니다.
ROI_DB_ADDR: -db-addr 플래그를 지정하지 않았을때 서버가 사용하는 DB 주소입니다.
ROI_DB_HTTP_ADDR: start-db.sh가 사용하는 DB의 웹 서비스 주소입니다.