思考と現場の間で

「いいサービスづくり」のために、組織づくりやソフトウェア設計など、考えていることを書きます

ubuntuにdocker版のredashを入れてみる

ubuntuにredashを入れてみたのでそのログを投げてみる。結構簡単。

Dockerのインストール

参考文献

APTのリポジトリ設定

$ sudo apt-get update
 
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common
 
$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

dockerのインストール

$ sudo apt-get update
 
$ sudo apt-get install docker-ce
 
docker -v
$ Docker version 17.12.1-ce, build 7390fc6

Docker-Composeのインストール

参考文献

$ sudo curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
 
$ sudo chmod +x /usr/local/bin/docker-compose
 
$ docker-compose --version
docker-compose version 1.19.0, build 9e633ef

Redashの立ち上げ

実行ユーザの作成

複数人で使うサーバーなので、ユーザを別にしてみた。

$ sudo useradd -m redash
 
# sudo なしで、docker できるように以下を叩いて、いったん ubuntu から抜ける
# Ref. https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04
$ sudo usermod -aG docker redash
 
$ sudo su - redash
 
# doker-compose.yml をホームディレクトリに作成
$ vim doker-compose.yml

docker-compose.yml

参考文献

version: '2'
services:
  server:
    image: redash/redash
    command: server
    depends_on:
      - postgres
      - redis
    ports:
      - "5001:5000"
    environment:
      PYTHONUNBUFFERED: 0
      REDASH_LOG_LEVEL: "INFO"
      REDASH_REDIS_URL: "redis://redis:6379/0"
      REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres"
      REDASH_COOKIE_SECRET: veryverysecret
      REDASH_SCHEMAS_REFRESH_SCHEDULE: 5
      REDASH_DATE_FORMAT: YYYY/MM/DD
  worker:
    image: redash/redash
    command: scheduler
    environment:
      PYTHONUNBUFFERED: 0
      REDASH_LOG_LEVEL: "INFO"
      REDASH_REDIS_URL: "redis://redis:6379/0"
      REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres"
      QUEUES: "queries,scheduled_queries,celery"
      WORKERS_COUNT: 2
      REDASH_SCHEMAS_REFRESH_SCHEDULE: 5
      REDASH_DATE_FORMAT: YYYY/MM/DD
      REDASH_GOOGLE_CLIENT_ID: "****"
      REDASH_GOOGLE_CLIENT_SECRET: "****"
      REDASH_GOOGLE_APPS_DOMAIN: "sample.com"
      REDASH_PASSWORD_LOGIN_ENABLED: "false"
  redis:
    image: redis:2.8
  postgres:
    image: postgres:9.3
    volumes:
      - postgres-data:/var/lib/postgresql/data
  nginx:
    image: redash/nginx:latest
    ports:
      - "28080:80"
    depends_on:
      - server
    links:
      - server:redash
volumes:
  postgres-data: {}

Google認証にする

ここから認証情報を登録する。

https://console.developers.google.com/cloud-resource-manager

登録した内容は、docker-compose.ymlに以下のように登録する

# クライアントID
REDASH_GOOGLE_CLIENT_ID: "****"
# クライアントシークレット
REDASH_GOOGLE_CLIENT_SECRET: "****"
# 認証可のドメイン
REDASH_GOOGLE_APPS_DOMAIN: "sample.com"

あー便利。