redash용 docker-compose.yml

EC2의 AMI가 있습니다만 대부분의 버젼이 낡은 것 같기 때문에&활발하게 개발이 계속되고 있으므로, 최신에 붙어 가기 위해서 노력해 봅니다.

docker-compose.yml
version: '2'
services:
  redash:
    image: redash/redash:0.12.0.b2072
    ports:
      - "5000:5000"
    links:
      - redis
      - postgres
    environment:
      REDASH_STATIC_ASSETS_PATH: "../rd_ui/dist/"
      REDASH_LOG_LEVEL: "INFO"
      REDASH_REDIS_URL: "redis://redis:6379/0"
      REDASH_DATABASE_URL: "postgresql://redash:redash@postgres:5432/redash"
      REDASH_COOKIE_SECRET: "MEExaMPle2zUhDa3PwExAMp1ecT2KF"
      REDASH_GOOGLE_APPS_DOMAIN: "example.jp"
      REDASH_GOOGLE_CLIENT_ID: "2345EXAMPLE3-69Examp1e5d7jngstiu1sExamp1e3g8h.apps.googleusercontent.com"
      REDASH_GOOGLE_CLIENT_SECRET: "gVEXAmpLeJ61VqVlexAmPLeY"
      REDASH_HOST: "https://redash.example.jp"
      REDASH_MAIL_SERVER: "smtp.example.jp"
      REDASH_MAIL_PORT: 587
      REDASH_MAIL_USE_TLS: "True"
      REDASH_MAIL_USERNAME: "username"
      REDASH_MAIL_PASSWORD: "password"
      REDASH_MAIL_DEFAULT_SENDER: "[email protected]"
      REDASH_DATE_FORMAT: "YYYY-MM-DD"
      REDASH_ALLOW_SCRIPTS_IN_USER_INPUT: "True"
    volumes:
      - .:/opt/redash/local
      - ./setup/docker/supervisord/supervisord.conf~:/opt/redash/supervisord/supervisord.conf:ro
    #  - /etc/localtime:/etc/localtime:ro
  redis:
    image: redis:2.8
  postgres:
    image: postgres:9.3
    environment:
      POSTGRES_USER: "redash"
      POSTGRES_DB: "redash"
      POSTGRES_PASSWORD: "redash"
    volumes:
     - /opt/postgres-data:/var/lib/postgresql/data
  redash-nginx:
    image: redash/nginx:latest
    ports:
      - "80:80"
    links:
      - redash


설정값 주의



REDASH_DATABASE_URL



yaml 아래에있는 postgres의 사용자 이름/암호/DB 이름과 잘 어울립니다.

REDASH_GOOGLE_*



Google Apps로 인증하는 경우 Google 측에서도 설정 필요

REDASH_MAIL_*



메일 통지라든지 원한다면 설정. 패스워드 리마인드하고 싶다면 메일 필요.

REDASH_DATE_FORMAT



이것을 설정하지 않으면 쿼리 결과에 Timestamp가있을 때 MM/DD/YY가되어 버려 읽는다.

REDASH_ALLOW_SCRIPTS_IN_USER_INPUT



대시 보드에 넣은 텍스트에 JavaScript를 사용할 수 있습니다. Datepicker라든지 사용할 수 있으므로 쿼리에 파라미터 사용하고 싶은 경우에는 편리하다.
참고:


supervisord.conf를 덮어 쓰는 사람



쿼리 실행의 병렬도를 높이기 위해. 이 엔은 호스트 머신의 스펙에 따라서, 부족하다고 생각하면 하면 된다

실행



docker와 docker-compose를 설치하면
docker-compose up -d 

확인


ec2-user@redash$ docker-compose ps
        Name                       Command               State                Ports
-------------------------------------------------------------------------------------------------
redash_postgres_1       /docker-entrypoint.sh postgres   Up      5432/tcp
redash_redash-nginx_1   nginx -g daemon off;             Up      443/tcp, 0.0.0.0:80->80/tcp
redash_redash_1         supervisord -c /opt/redash ...   Up      0.0.0.0:5000->5000/tcp, 9001/tcp
redash_redis_1          docker-entrypoint.sh redis ...   Up      6379/tcp

그런 다음 브라우저에서 EC2 인스턴스의 IP에 액세스하면됩니다.

버전 업



DockerHub에서 re : dash의 최신 버전 태그를 찾습니다 (꽤 자주 올라갑니다)

docker-compose.yml의 image: redash/redash:0.12.0.b2072 부분 태그를 다시 작성한 후
# redashコンテナ止めて
docker-compose stop redash
# redashコンテナ削除して
docker-compose rm -f redash
# redashコンテナ再作成
docker-compose up -d redash

※migration이라든지 어떻게 하는 것이 정답일 것이다. . . ?

좋은 웹페이지 즐겨찾기