※ 2016/07 現在のre:dashについては いつの間にかre:dashの設定が簡単になってた(Dockerを使えば) に書いてます
re:dashをdocker-machine上で動かしてみる。
注意 バージョンは v0.8.2-rc
。masterブランチを見ると書き換えているようなので、新しいものはこの方法だと使えなくなりそう。
必要なもの
- docker-machine
- docker-compose
- node(bower)
docker imageの準備
redash
git clone git@github.com:getredash/redash.git
# redash image作成
$ cd redash
# Dockerイメージにassetsを入れるために先にbower installしておく
$ cd rd_ui
$ bower install
# 追記: make depsでもok
$ make deps
# 追記2: .envを作成しておく
$ cat <<EOF > .env
REDASH_CONNECTION_ADAPTER: pg
REDASH_CONNECTION_STRING: "dbname=redash"
REDASH_LOG_LEVEL: "INFO"
REDASH_WORKERS_COUNT: 6
REDASH_REDIS_URL: "redis://redis:6379/1"
REDASH_DATABASE_URL: "postgresql://postgres/redash"
REDASH_COOKIE_SECRET: veryverysecret
REDASH_GOOGLE_APPS_DOMAIN: ""
EOF
$ cd ..
$ docker build -t redash:latest .
redash nginx
$ cd redash/setup/files/docker-redash-nginx
$ docker build -t redash-nginx:1.0 .
docker-compose.ymlの準備
リポジトリ直下に置いた場合。
docker-compose.yml
redash:
image: redash
ports:
- "5000:5000"
links:
- redis
- postgres
redis:
image: redis:2.8
postgres:
image: postgres:9.3
volumes:
- /opt/postgres-data:/var/lib/postgresql/data
nginx:
image: redash-nginx:1.0
ports:
- "80:80"
volumes:
- "setup/files/docker-redash-nginx/nginx.conf:/etc/nginx/nginx.conf"
links:
- redash
追記
最初、docker-composeにenvの設定書いたけれど、
この場合 celery が動かなくなるので.env
を使うようにする必要がある。
redash:
image: redash
ports:
- "5000:5000"
links:
- redis
- postgres
environment:
REDASH_CONNECTION_ADAPTER: pg
REDASH_CONNECTION_STRING: "dbname=redash"
REDASH_LOG_LEVEL: "INFO"
REDASH_WORKERS_COUNT: 6
REDASH_REDIS_URL: "redis://redis:6379/1"
REDASH_DATABASE_URL: "postgresql://postgres/redash"
REDASH_COOKIE_SECRET: veryverysecret
REDASH_GOOGLE_APPS_DOMAIN: ""
docker-machineの立ち上げ
$ docker-machine start redash
$ docker-machine env redash
docker-compose実行
$ docker-compose up
追記
最初にDBの初期化が出来ていない場合は、DBを作って、migrationをする必要がある
$ docker exec -it redash_redash_1 /bin/sh /opt/redash/current/setup/docker_init_postgres.sh
確認
$ open http://$(docker-machine ip redash)

こんな画面が出ればOK。admin:admin
でログインできるようになる。
この後にやること
利用したいデータソースの追加が必要。
とりあえず試すならば、docker exec -it redash_redash_1 /bin/bash
とかで中で作業するのが早そう。