AWS Lightsail上にRedashを構築する方法

目的

  • Lightsail上にRedashをDocker環境で構築
  • データを自由に入れられるMySQLをRedashと同じ環境に構築
  • RedashのデータソースにPythonを追加
  • Redashのデータソースにスプレッドシートを追加

セットアップ

Lightsail環境を用意

種別推奨設定
プラットフォームLinux/Unix
設計図LAMP(PHP7)
インスタンスプラン$20(メモリ4GB)
Lightsail Redash推奨環境

セットアップ環境を用意

$ cd ~/
$ mkdir redash
$ cd redash
$ git clone https://github.com/getredash/redash.git
$ git clone https://github.com/getredash/setup.git
$ sudo mkdir -p /opt/redash    #ここにredash本体が入る

セットアップする

$ sudo sh ./setup/setup.sh 

MySQLをDocker環境上に構築する

このフェーズは若干特殊事例なので、スキップしても良い。ここでは、Redash環境にひとつオリジナルのMySQL環境を構築している。基本的にRedashは外にあるデータソースにアクセスして使うものである。しかしどうしてもMySQLのデータソースが必要な場合、外部に新たにサーバを立ち上げるとサーバ代が余計にかかってしまう。

よって、Redashの。サーバにMySQL(データソース用)を追加している

FROM mysql:5.7.19
RUN apt-get update && \
    apt-get install -y locales && \
    rm -rf /var/lib/apt/lists/* && \
    echo "ja_JP.UTF-8 UTF-8" > /etc/locale.gen && \
    locale-gen ja_JP.UTF-8
ENV LC_ALL ja_JP.UTF-8
ADD custom.cnf /etc/mysql/conf.d
ADD ./data /data
ADD ./script /script

以下を/opt/redash/docker-compose.ymlに追加

...
...
  db:
    build: ./maki-data
    volumes:
      - ./maki-data/datadir:/var/lib/mysql
      - ./maki-data/init:/docker-entrypoint-initmaki-data.d
    expose:
      - "3306"
    environment:
      - MYSQL_ROOT_PASSWORD=*****
      - MYSQL_ROOT_HOST=%
    mem_limit: 2048m
    restart: always
$ cd /opt/redash
$ docker-compose up -d

データソースにPythonを追加する

以下を追記

...
...
REDASH_ADDITIONAL_QUERY_RUNNERS=redash.query_runner.python

データソースにスプレッドシートを追加する

以下を追記

...
...
REDASH_GOOGLE_CLIENT_ID=*********************
REDASH_GOOGLE_CLIENT_SECRET=******************

参考
https://qiita.com/moaikids/items/157ec44ead7ec8d2d731

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です