オンラインで使えるSaaSのホワイトボードアプリというとMiroなんか有名だが、ここでは似たようなホワイトボードアプリをローカルで動かす類似のアプリについて紹介。
探してみたらourboardというMITライセンスのソフトウェアがあり、Dockerイメージも公開されていて簡単にデプロイできたので手順についてまとめた。
ちなみに2025年5月時点で、Dockerでシュッと立てられるのにREADMEにその手順が載っておらず、Compseファイルなどの資材も揃ってないのがちょっと欠点。
(イメージのビルド方法と、yarnを使ったデプロイ手順は載っている。イメージからデプロイするスクリプトもあるが内容が不十分だった)
TL;DR
以下のCompseファイルで起動すればOK
(SESSION_SIGNING_SECRETは仮値なので適当に変更してね)
※ 2025.08.30追記:ボリューム指定が抜けていてコンテナ再作成時にデータが消えてしまうため、修正。もし修正前のcomposeファイルを使っていたらこの記事参照してデータ救出してください。
services: db: image: postgres:12 restart: always ports: - 13338:5432 environment: POSTGRES_USER: r-board POSTGRES_PASSWORD: secret healthcheck: test: ["CMD-SHELL", "pg_isready -U r-board || exit 1"] interval: 1s timeout: 1s retries: 10 start_period: 1s volumes: - pg_data:/var/lib/postgresql/data ourboard: depends_on: db: condition: service_healthy init: true environment: - DATABASE_URL=postgres://r-board:secret@db:5432/r-board - SESSION_SIGNING_SECRET=curry_tabetai ports: - 1337:1337 volumes: - $PWD/backend/localfiles:/usr/src/app/backend/localfiles image: raimohanska/ourboard restart: always volumes: pg_data:
デプロイされたら、HTTPで1337/TCPへアクセスすればOK

解説
GitHubのリポジトリにComposeファイルは梱包されているが、内容はアプリで使うPostgreSQLと、OIDC認証を組み込む際に使うKeyCloakがデプロイされる定義になっている。
ローカルで個人で使う場合で認証が不要なら、KeyCloakは不要でPostgreSQLのみで良い。
outboard本体のデプロイについては起動スクリプトも含まれてはいるが、あいにく「同一ホスト上で標準のComposeファイルでデプロイしたPostgreSQLコンテナに接続」ができる実装になっていないため、そのままでは動作しない。
なので、まとめて一つのComposeファイルに記述するのが一番簡単ということでできたのが前述のComposeファイル。
depends_onを使ってDB→outboard本体の順になるように定義しているが、単純な依存設定だと起動が速すぎてoutboardからのDBアクセスが失敗してしまうため、DBにヘルスチェックを追加しpg_isreadyで起動完了をきっちり待つようにしている。
ourboard本体のDockerコンテナイメージはここにある。
サンプルページ
公式でサンプルページが用意されており、ボードを作ってお試し可能。
使い勝手はMiroに似てるので直感的に使えると思う。
キーボードショートカットはGitHubのREADMEにも掲載。
ホワイトボード上で扱う情報の種類によってはオンラインではなくクローズドなところでやりたいこともあると思うので、そういう時には便利だと思う。
