LoginSignup
12
12

More than 5 years have passed since last update.

redash用のdocker-compose.yml

Posted at

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: "redash@example.jp"
      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_*

GoogleAppsで認証するならGoogle側でも設定が必要

REDASH_MAIL_*

メール通知とかしたいなら設定.パスワードリマインドしたいならメール必要.

REDASH_DATE_FORMAT

これ設定しないと,クエリ結果にTimestampがあったときにMM/DD/YYになってしまって読み辛い.

REDASH_ALLOW_SCRIPTS_IN_USER_INPUT

Dashboardに置くテキストにJavaScriptが使えるようになる.Datepickerとか使えるのでクエリにパラメータ使いたい場合は便利.
参考:
image

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とかどうやるのが正解なんだろう...?

12
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
12