###### tags: `raspberrypi` `metabase` # Raspberry Pi に metabase サーバを構築する ## 実行環境 - Raspberry Pi 4 Model B Rev 1.2 4GB - Ubuntu 22.04.4 LTS - microSD 128GB - Docker version 26.0.0, build 2ae903e - Docker Compose version v2.25.0 ## Docker インストール > https://docs.docker.com/engine/install/ubuntu/ ドキュメントに従って、Docker をインストールします。 ## metabase インストール(Docker) > https://www.metabase.com/docs/latest/installation-and-operation/running-metabase-on-docker metabase の Docker イメージを pull します。 `metabase/metabase:latest` イメージは amd64 アーキテクチャに対応したイメージしかなかったので、arm64 アーキテクチャ向けイメージのある `metabase/metabasel-head:latest-ubuntu` イメージを使用しました。 > https://hub.docker.com/r/metabase/metabase-head/tags root ユーザになり、`/opt/metabase` ディレクトリを作成し、以下の docker-compose.yml ファイルを準備します。 ```bash= $ mkdir /opt/metabase $ cd /opt/metabase ``` ++docker-compose.yml++ ```yaml= version: '3.9' services: metabase: image: metabase/metabase-head:latest-ubuntu container_name: metabase hostname: metabase volumes: - /dev/urandom:/dev/random:ro ports: - 3000:3000 restart: always environment: MB_DB_TYPE: postgres MB_DB_DBNAME: metabaseappdb MB_DB_PORT: 5432 MB_DB_USER: metabase MB_DB_PASS: mysecretpassword MB_DB_HOST: postgres networks: - metanet1 healthcheck: test: curl --fail -I http://localhost:3000/api/health || exit 1 interval: 15s timeout: 5s retries: 5 postgres: image: postgres:latest container_name: postgres hostname: postgres restart: always environment: POSTGRES_USER: metabase POSTGRES_DB: metabaseappdb POSTGRES_PASSWORD: mysecretpassword networks: - metanet1 networks: metanet1: driver: bridge ``` metabase コンテナと postgres コンテナを起動しました。 ```bash= $ docker compose up -d ``` コンテナが起動し、`localhost:3000` に metabase が起動します。5分ほどかかります。 初回起動時は初期ユーザの設定をする必要があります。 メールアドレス入力が必須になります。2段階認証などはありませんでした。 デフォルト状態でもサンプルデータベースを使用できるようです。