first commit

This commit is contained in:
root 2024-02-12 01:11:21 +09:00
commit 0158bf1a29
5 changed files with 86 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
conf/postgresql/db_volume

29
README.md Normal file
View File

@ -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
```

7
conf/metabase/.env Normal file
View File

@ -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名と合わせる

34
docker-compose.yml Normal file
View File

@ -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: {}

View File

@ -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行のダミーデータを生成