LoginSignup
0

Docker ComposeでSQLPadを起動する(with ClickHouse)

Last updated at Posted at 2023-03-18

SQLPadとは

SQLPad は、SQL クエリを記述して実行し、結果を視覚化するための Web アプリです。Postgres、MySQL、SQL Server、ClickHouse、Crate、Vertica、Trino、Presto、Pinot、Drill、SAP HANA、Snowflake、BigQuery、SQLite、TiDB などを ODBC 経由でサポートします。

参考:Introduction to SQLPad

yaml設定

以下の設定を使用すると、Docker Composeを使用してSQLPadを起動できます。
検証用のClickHouseコンテナの設定もセットにしています。

docker-compose.yaml (or compose.yaml)
version: '3'
services:
  sqlpad:
    image: sqlpad/sqlpad:latest
    container_name: sqlpad
    restart: always
    ports:
      # イメージのデフォルトは3000
      - 3000:3000
    environment:
      # 認証を無効化する
      SQLPAD_AUTH_DISABLED: true
      # ユーザーのロールを定める(admin or editor)
      SQLPAD_AUTH_DISABLED_DEFAULT_ROLE: admin
      # ログレベルの定義
      SQLPAD_APP_LOG_LEVEL: info
      SQLPAD_WEB_LOG_LEVEL: warn
    volumes:
      - ./data:/var/lib/sqlpad

  clickhouse_test:
    image: yandex/clickhouse-server
    container_name: clickhouse_test
    hostname: clickhouse_test
    restart: always
    # ports:
    #   - "9000:9000"
    #   - "8123:8123"
    volumes:
    - ./click-data/var/lib/clickhouse:/var/lib/clickhouse
    - ./click-data/var/log/clickhouse-server:/var/log/clickhouse-server
    - ./click-data/etc/clickhouse-server/users.d:/etc/clickhouse-server/users.d

volumes設定を使用して、ホストマシンの./dataディレクトリとコンテナ内の/var/lib/sqlpadディレクトリをマウントします。これにより、SQLPadのデータベースファイルと設定ファイルがホストマシンのファイルシステムに保存されます。

コンテナ起動

yamlを配置したディレクトリで以下を実行する。

docker-compose up -d

アクセス確認

以下にアクセスする。

ClickHouseに接続

SQLPadからClickHouseに接続してみましょう。

New connection を選択します。

new-connection-settings.png

今回は検証環境のため以下の設定で接続します。

clickhouse-settings.png

  • Connection name

    • コネクションの名前を自由に指定できます。
  • Driver

    • ドライバーを選択します。今回はClickHouseを選択します。
  • Host

    • DBがあるホストを指定します。(コンテナの場合、同じネットワーク内であればサービス名でもOKです)
  • HTTP Port(optional)

    • DBのHTTPポートを指定します。ClickHouseのデフォルトは8123です。
  • Username (optional)

    • DBのユーザー名を指定します。
  • Password (optional)

    • 上記ユーザーのパスワードを指定します。
  • Database Name (optional)

    • 接続したいDB名を指定します。

TEST で接続確認を行うことができます。save で設定を保存します。

clickhouse-connection-test.png

以下のように情報が確認できればOKです。

clickhouse-initial-connection.png

デモは以上です。

まとめ

SQLPadをコンテナで構築し、ClickHouseへアクセス確認を行うところまで実施しました。サポートされているDBの種類も豊富なので活用できそうです。

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
0