commit 0158bf1a29a7fcefdfd569ddac5c10f80cf08282 Author: root Date: Mon Feb 12 01:11:21 2024 +0900 first commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8f57802 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +conf/postgresql/db_volume diff --git a/README.md b/README.md new file mode 100644 index 0000000..143aed4 --- /dev/null +++ b/README.md @@ -0,0 +1,29 @@ + +## Dockerコマンド + +```bash +docker compose up -d +``` + +```bash +docker compose logs -f +``` + +## 設定項目 + +https://qiita.com/kengo-sk8/items/7eb265513d9b0cf3e2df + + +## データを挿入する + + +``` +- ./sql:/var/lib/postgresql/sql +- ./sql:/docker-entrypoint-initdb.d +``` + + +```bash +docker exec -it metabase_db psql -U metabase -d metabase_db +docker exec -i metabase_db psql -U metabase -d metabase_db < /var/lib/postgresql/sql/create_table_sale_data.sql +``` diff --git a/conf/metabase/.env b/conf/metabase/.env new file mode 100644 index 0000000..f364e9e --- /dev/null +++ b/conf/metabase/.env @@ -0,0 +1,7 @@ +MB_DB_FILE=/metabase-data/metabase.db +MB_DB_TYPE=postgres +MB_DB_DBNAME=metabase_db +MB_DB_PORT=5432 +MB_DB_USER=metabase +MB_DB_PASS=metabase123 +MB_DB_HOST=db # docker-compose.ymlに記載したservices名と合わせる diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..4c82c92 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,34 @@ +version: "3.9" +services: + metabase: + image: metabase/metabase:latest + container_name: metabase + env_file: ./conf/metabase/.env + volumes: + - ./conf/metabase/metabase-data:/metabase-data + ports: + - 3000:3000 + tty: true + healthcheck: + test: curl --fail -I http://localhost3000/api/health || exit 1 + interval: 15s + timeout: 5s + retries: 5 + depends_on: + - db + db: + image: postgres:latest + container_name: metabase_db + volumes: + - ./conf/postgresql/db_volume:/var/lib/postgresql/data + - ./sql:/var/lib/postgresql/sql + environment: + # postgresの.envファイル + - POSTGRES_DB=metabase_db + - POSTGRES_USER=metabase + - POSTGRES_PASSWORD=metabase123 + ports: + - 5432:5432 + restart: always +volumes: + db_volume: {} \ No newline at end of file diff --git a/sql/create_table_sale_data.sql b/sql/create_table_sale_data.sql new file mode 100644 index 0000000..a783556 --- /dev/null +++ b/sql/create_table_sale_data.sql @@ -0,0 +1,15 @@ +CREATE TABLE sales_data ( + id SERIAL PRIMARY KEY, + product_id INT, + sale_date DATE, + quantity INT, + price NUMERIC(10, 2) +); + +INSERT INTO sales_data (product_id, sale_date, quantity, price) +SELECT + (RANDOM() * 100)::INT AS product_id, + CURRENT_DATE - (RANDOM() * 30)::INT AS sale_date, + (RANDOM() * 10)::INT + 1 AS quantity, + (RANDOM() * 100)::NUMERIC(10,2) + 1 AS price +FROM generate_series(1, 1000) AS s(id); -- 1000行のダミーデータを生成