---
# System prepended metadata

title: Raspberry Pi に metabase サーバを構築する
tags: [raspberrypi, metabase]

---

###### 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段階認証などはありませんでした。

デフォルト状態でもサンプルデータベースを使用できるようです。
