###### 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段階認証などはありませんでした。
デフォルト状態でもサンプルデータベースを使用できるようです。