Redash 소스 clone 받기

$ git clone https://github.com/getredash/redash

Redash docker-compose.production.yml 수정

Redash는 docker compose를 통해 redash, redis, postgres, nginx를 각각 docker로 띄우게 구성하고 있다.

이중에서 상용환경에 맞게 일부 내용을 수정해보자.

DB 데이터 위치 변경하기

postgres에서 저장할 데이터의 위치를 docker를 실행하는 물리장비 경로로 바꾸어 docker 인스턴스가 재시작 되더라도 데이터가 날아가지 않게 설정한다.

volumes:
     - 물리장비경로:/var/lib/postgresql/data

포트번호 변경

redash는 결과적으로 nginx를 이용하여 redash 웹사이트에 접속할 수 있다. 따라서 필요시에 기본 80포트로 바인딩 되어있는 포트를 변경한다.

“80:80″의 의미는 앞은 물리장비에 노출할 포트번호, 뒤는 docker 인스턴스 내에서 사용할 포트번호이다.

ports:
    - "80:80"    

만약 물리장비에서는 8080 포트로 사용하고자 한다면 아래와 같이 변경하면 된다.

ports:
    - "8080:80"    

Docker 이미지 추출하기

$ docker save redash > redash.tar

Docker 이미지 로드하기

$ docker load < redash.tar

tar 파일로 추출한 docker 이미지들은 사내에서 별도로 관리하면 좋을듯 하다.

DB 구성하기

$ docker-compose -f docker-compose.production.yml run --rm server create_db

Redash 관련 인스턴스 실행하기

$ docker-compose -f docker-compose.production.yml up