0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DockerコンテナでCloudBeaverをセットアップする

Posted at

cloudbeaverとは?

SQLクエリの実行やデータのインポート/エクスポート、ER図の作成など、DBeaverは便利ですよね。DBeaverチームが開発したブラウザベースのデータベース管理ツールであるCloudBeaverを使うと、これらの機能をブラウザからどこでも利用できます。リアルタイムでデータを更新したり複数のユーザーが同時にアクセスできたりとかなり便利なのですが、CloudBeaverに関する記事がほとんどなかったので使い方を書いてみます。

dockerコンテナを用いてCloudBeaverを利用する

dockerを用いてCloudBeaverに接続してみましょう。

docker-compose.yml
    cloudbeaver:
    image: dbeaver/cloudbeaver:latest
    container_name: CLOUDBEAVER
    ports:
      - "8080:8978"
    depends_on:
      - postgres
    networks:
      - TNet
    logging:
      driver: "none"

CloudBeaverの起動

docker-compose up -d

初期画面の確認

localhost:8080で接続すると無事初期画面が表示されました!
スクリーンショット 2025-02-21 22.54.47.png

その後、管理者ユーザーの設定などを行い、
スクリーンショット 2025-02-21 22.55.18.png

設定した管理者ユーザーでログインすると、新しくデータベースを接続することができます。
スクリーンショット 2025-02-21 22.56.41.png
スクリーンショット 2025-02-21 22.57.09.png

設定ファイルで自動設定する

上記のように手動で設定せずに設定ファイルを用いることもできます。

管理者ユーザーの設定

.cloudbeaver.auto.confファイルを用いて管理者ユーザーの設定を行うことができます。(保存場所は/opt/cloudbeaver/conf/.cloudbeaver.auto.conf)

.cloudbeaver.auto.conf
CB_ADMIN_NAME=cbadmin
CB_ADMIN_PASSWORD=CBadmin123
CB_PUBLIC_URL=http://localhost:8080
CB_SERVER_NAME=testServer

データベース設定

data-sources.jsonファイルを用いてデータベースとの接続設定を行うことができます。(/opt/cloudbeaver/workspace/GlobalConfiguration/.dbeaver/data-sources.json)

data-sources.json
{
	"folders": {},
	"connections": {
		"trascenPostgresDBL": {
			"provider": "postgresql",
			"driver": "postgres-jdbc",
			"name": "MY PostgreSQL Database",
			"configuration": {
				"host": "postgres",
				"port": "5432",
				"database": "my_db",
				"url": "jdbc:postgresql://postgres:5432/my_db",
				"configurationType": "MANUAL",
				"type": "dev",
				"closeIdleConnection": true,
				"auth-model": "native",
				"bootstrap": {
					"autocommit": true
				}
			}
		}
	},
	"connection-types": {
		"dev": {
			"name": "Development",
			"color": "255,255,255",
			"description": "Regular development database",
			"auto-commit": true,
			"confirm-execute": false,
			"confirm-data-change": false,
			"smart-commit": false,
			"smart-commit-recover": true,
			"auto-close-transactions": true,
			"close-transactions-period": 1800,
			"auto-close-connections": true,
			"close-connections-period": 14400
		}
	}
}

これらのファイルをDockerfileを用いてコンテナ内にコピーします。

COPY data-sources.json /opt/cloudbeaver/workspace/GlobalConfiguration/.dbeaver/data-sources.json
COPY .cloudbeaver.auto.conf /opt/cloudbeaver/conf/.cloudbeaver.auto.conf

localhost:8080に接続し、.cloudbeaver.auto.confファイルで設定した管理者ユーザーでloginすると、すでにデータベースが接続されていることがわかります!
cloudbeavergif.gif

余談

設定ファイルについては、公式ドキュメントにもあまり記載がなく、調べてもあまり出てきませんでした。特にdata-sources.json内の

"provider": "postgresql",
"driver": "postgres-jdbc",

の設定ミスでのエラーに悩まされ、結局手動で設定した後、設定ファイルがどう変更されたかを確認することで正しい設定方法がわかりました。もしpostgres以外のデータベースのproviderやdriverの設定で困っているなら一度手動で設定してからコンテナ内のdata-sources.jsonファイルを確認してみるといいかもしれません。

0
0
0

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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?