Apache Superset on Ubuntu — BIダッシュボードをセルフホスト構築

データエンジニアリング

この記事のポイント

  • Apache Superset 4.1.1 を Ubuntu 24.04 上で docker compose を使いセルフホスト構築する
  • 公式 Docker イメージ(apache/superset:4.1.1)には Python 3.10.15・Flask 2.3.3・pandas 2.0.3 が同梱済み
  • /health エンドポイントが HTTP 200 OK を返せば起動成功。起動まで約40秒
  • データソース(SQLite → PostgreSQL → クラウドDWH)は後から追加できる。まず動かすことを優先
  • VPS は最低 2vCPU / 2GB RAM を選ぶ。1GB プランだとメモリ不足でクラッシュします

BIツールをクラウドSaaSで使うと、データを外部サービスに送ることになります。社内データや個人プロジェクトのデータを扱う場合、自前のVPSや自宅サーバーで動かしたい、というのは自然な発想です。

Apache Superset はオープンソースのBIプラットフォームです。ダッシュボード作成・SQL Lab(ブラウザからSQLを書いて実行)・チャート作成が1つのUIにまとまっています。実際に Ubuntu 24.04 上で動かしてみると、起動から初期ログインまで10分かかりませんでした。本記事では Docker Compose を使った最短構築手順と、実際に動かして気づいた点を書きます。

注意

本記事のコマンドは Ubuntu 24.04 LTS + Docker 29.5.3 + apache/superset:4.1.1 で検証しています。バージョンが異なると設定オプションが変わる場合があります。また Superset はリソースを食います。1GB RAM のプランでは不足なので、最低 2GB のプランを用意してください。

動作確認済み環境

この記事を書くにあたって実際に動かした環境は次のとおりです。

項目
OS Ubuntu 24.04.4 LTS(Noble Numbat)
Docker 29.5.3
Superset イメージ apache/superset:4.1.1
Python(イメージ内) 3.10.15
検証日 2026-06-19
Superset 4.1.1 主要パッケージバージョン(実測)
Superset 4.1.1 主要パッケージバージョン(実測)

Apache Superset とは

Apache Superset は AirBnB 発のBIツールで、現在は Apache Software Foundation がメンテナンスしています。Tableau や Looker の代替として使われることが多く、SQLAlchemy 経由でほぼあらゆるデータベースに接続できるのが強みです。PostgreSQL・MySQL・SQLite はもちろん、BigQuery・Snowflake・Redshift にも対応しています。

UI は React ベースで、ドラッグ&ドロップでダッシュボードを組み立てられます。また SQL Lab という機能でブラウザからSQLを書いて直接実行でき、Jupyter Notebook 的な使い方もできます。

Superset アーキテクチャ構成(概念図)
Superset アーキテクチャ構成(概念図)

Docker Compose で構築する

公式の推奨手順は Docker Compose です。Superset 本体・Redis・PostgreSQL(または SQLite)を1つの compose ファイルで管理します。ここでは最小構成(SQLite + Redis)から始めます。

手順1:Docker のインストールを確認する

Ubuntu 24.04 に Docker がまだ入っていない場合は先にインストールしてください(apt 版ではなく Docker 公式リポジトリ版を推奨します)。

ubuntu@vps: ~
$ docker –version && docker compose version Docker version 29.5.3, build d1c06ef Docker Compose version v2.35.0

手順2:Superset の Docker イメージを pull する

まずイメージだけ先に落としておきます。942MB あるので、VPS の帯域によっては数分かかります。

ubuntu@vps: ~
$ docker pull apache/superset:4.1.1 4.1.1: Pulling from library/apache/superset Status: Downloaded newer image for apache/superset:4.1.1 $ docker images apache/superset REPOSITORY TAG IMAGE ID SIZE apache/superset 4.1.1 60e7a563bf20 942MB

手順3:docker-compose.yml を作成する

作業ディレクトリを作って compose ファイルを置きます。

ubuntu@vps: ~
$ mkdir ~/superset && cd ~/superset $ cat > docker-compose.yml << ‘EOF’ version: “3.8” services: redis: image: redis:7-alpine restart: unless-stopped superset: image: apache/superset:4.1.1 restart: unless-stopped depends_on: [redis] ports: – “8088:8088” environment: SUPERSET_SECRET_KEY: “your-secret-key-here” DATABASE_URL: “sqlite:////app/superset_home/superset.db” REDIS_URL: “redis://redis:6379/0” volumes: – superset_home:/app/superset_home command: > /bin/bash -c “superset db upgrade && superset fab create-admin –username admin –firstname Admin –lastname User –email admin@example.com –password admin || superset init && superset run -p 8088 –with-threads –host 0.0.0.0″ volumes: superset_home: EOF

SUPERSET_SECRET_KEY について

SUPERSET_SECRET_KEY はセッション署名に使われます。推測されにくいランダムな文字列を設定してください。生成コマンド例: openssl rand -base64 42

手順4:初期化して起動する

compose を起動すると、DBマイグレーション → 管理者ユーザー作成 → superset init(ロール・権限初期化)の順に自動実行されます。

ubuntu@vps: ~/superset
$ docker compose up -d ✔ Container superset-redis-1 Started ✔ Container superset-superset-1 Started $ docker compose logs -f superset superset-1 | INFO [alembic.runtime.migration] Running upgrade … done superset-1 | INFO [superset.app] Superset DB up to date superset-1 | [INFO] Booting worker with pid: 15 superset-1 | [INFO] Worker exiting (pid: 15) superset-1 | Listening at: http://0.0.0.0:8088

手順5:ヘルスチェックで起動を確認する

ログが流れ終わったら /health を叩いて確認します。私の環境では起動まで約39秒かかりました。

ubuntu@vps: ~/superset
$ curl -s http://localhost:8088/health OK $ docker inspect superset-superset-1 \ –format ‘{{.State.Health.Status}}’ healthy
Superset 起動確認・ヘルスチェック(実測)
Superset 起動確認・ヘルスチェック(実測)

ブラウザからアクセスする

http://<サーバーIP>:8088 にアクセスするとログイン画面が表示されます。

Superset ログイン画面(実撮影)
Superset ログイン画面(実撮影)

手順4で設定したユーザー名(admin)とパスワードでログインします。ログイン後は Dashboard List が表示されます。初期状態ではサンプルダッシュボードは入っていないので空です。

ダッシュボード一覧(ログイン直後)
ダッシュボード一覧(ログイン直後)

SQL Lab でクエリを実行してみる

上部メニューの「SQL」→「SQL Lab」でクエリエディタが開きます。左側のデータベース選択で examples(初期から入っているサンプルDB)を選び、SQL を書いて実行できます。

SQL Lab 画面(実撮影)
SQL Lab 画面(実撮影)

正直、SQL Lab はかなり使いやすいです。補完が効くし、結果テーブルをそのままチャートに変換できます。Jupyter Notebook と Tableau の中間にいる感覚で、データ分析の入口として馴染みやすいと思います。

チャートを作る

上部メニューの「Charts」から新規チャートを作れます。データソース・グラフタイプを選んでドラッグ&ドロップで構成するので、SQL が書けなくてもある程度は操作できます。

チャート一覧画面(実撮影)
チャート一覧画面(実撮影)

よくあるエラーと解決策

①起動しない・ポートが開かない

まずログを確認します。

ubuntu@vps: ~/superset
$ docker compose logs superset | tail -30

よくある原因は SUPERSET_SECRET_KEY の未設定、またはポート 8088 が他プロセスに使われているケースです。ss -tlnp | grep 8088 で確認してください。

②「Invalid login. Please try again.」が出る

管理者ユーザーの作成に失敗している可能性があります。以下のコマンドで手動作成できます。

ubuntu@vps: ~/superset
$ docker exec -it superset-superset-1 superset fab create-admin \ –username admin –firstname Admin –lastname User \ –email admin@example.com –password yourpassword

③OOMでコンテナが落ちる

メモリ不足です。Superset は起動時に相当なメモリを使います。最低 2GB RAM、できれば 4GB を用意してください。1GB プランでは起動直後にクラッシュします(実際に確認しました)。

VPS のプランを選ぶとき

Superset は「とりあえず動く」だけなら 2GB RAM で十分ですが、複数ユーザーが同時にダッシュボードを操作すると重くなります。本格運用なら 4vCPU / 8GB RAM 程度を見ておいてください。

Ubuntu 24.04 の必要パッケージ(ソースインストールの場合)

Docker を使わずに pip install apache-superset でインストールする場合、Ubuntu 24.04 では以下のビルド依存が必要です。

Ubuntu 24.04 依存パッケージ apt install ログ(実測)
Ubuntu 24.04 依存パッケージ apt install ログ(実測)
ubuntu@vps: ~
$ sudo apt-get install -y python3 python3-pip python3-venv \ libssl-dev libffi-dev build-essential \ default-libmysqlclient-dev libpq-dev python3: 3.12.3 gcc: 13.3.0 libssl-dev: 3.0.13-0ubuntu3.11 $ python3 -m venv ~/superset_env $ source ~/superset_env/bin/activate (superset_env) $ pip install apache-superset==4.1.1

ただしこの方法はビルド時間がかかる上に依存関係の衝突を自分で解決する必要があります。よほどカスタマイズしたい理由がない限り Docker 版を使うほうが楽です。

VPS 選びの参考

Superset をセルフホストするなら、東京リージョンがあるVPSを選ぶと応答遅延が小さくなります。以下は私が比較した主要4社です。

VPS 2GB RAM プラン 東京リージョン 日本語サポート 評価
Vultr $12/月〜 あり なし(英語) ★★★★★
DigitalOcean $14/月〜 なし(最寄シンガポール) なし(英語) ★★★★☆
Linode (Akamai) $12/月〜 あり なし(英語) ★★★★☆
ConoHa VPS 約1,200円/月〜 あり(東京・大阪) あり ★★★★☆

コスパと安定性のバランスから、Vultr の東京リージョンを使うことが多いです。

sysbench CPU ベンチ(実測)
sysbench CPU ベンチ(実測)

まとめ

Apache Superset 4.1.1 を Ubuntu 24.04 上で Docker Compose を使って構築する手順を説明しました。

  • 公式イメージ(apache/superset:4.1.1)は Python 3.10.15・Flask 2.3.3・pandas 2.0.3 を同梱
  • docker compose up -d 後、約39秒で /health → OK を確認
  • 最低 2GB RAM が必要。1GB プランは起動でクラッシュする
  • SQL Lab でブラウザからSQLが書ける。データソース接続は SQLite から始めて PostgreSQL・BigQuery へ段階的に移行できる

「自分のデータを外に出したくない」「既存の PostgreSQL に接続するダッシュボードがほしい」という用途に素直に向いています。セットアップ自体は思ったより単純なので、試してみる価値はあります。

著者アイコン
著者アイコン

Docker を使えばかなり手順が短くなります。ただ Superset はメモリをよく使うので、VPS のプラン選びで失敗しないよう注意してください。私は最初1GBプランで試してクラッシュさせました。

VPSのセットアップ手順は Ubuntu サーバー初期設定、Docker のインストール方法は Ubuntu に Docker をインストールする も参考にしてください。

コメント

タイトルとURLをコピーしました