/ docker-compose.yml
docker-compose.yml
 1  ---
 2  services:
 3    database:
 4      image: 'postgres:15'
 5      container_name: 'database'
 6      environment:
 7        POSTGRES_DB: postgres
 8        POSTGRES_PASSWORD: Password
 9        POSTGRES_USER: admin
10        PGDATA: /var/lib/postgresql/data/pgdata
11      volumes:
12        - "./postgres/data:/var/lib/postgresql/data"
13        - "./postgres/init/:/docker-entrypoint-initdb.d"
14      ports:
15        - '5432:5432'
16      healthcheck:
17        test: ["CMD-SHELL", "pg_isready -U admin -d postgres"]
18        interval: 10s
19        retries: 5
20        start_period: 30s
21        timeout: 10s
22  
23    dbt:
24      container_name: dbt
25      image: ghcr.io/dbt-labs/dbt-postgres:1.7.2 #dbtlabs/dbt:latest  #dbt-dummy
26      build: dbt_project/
27      volumes:
28        - ./dbt_project:/usr/app/dbt
29      ports:
30        - "8080:8080"
31      environment:
32        DBT_PROFILES_DIR: /usr/app/dbt
33        DBT_TARGET: dev
34      depends_on:
35        - database
36      command: ["run"]
37  
38    grafana:
39      image: 'grafana/grafana-enterprise'
40      container_name: 'grafana'
41      volumes:
42        - "grafana-data:/var/lib/grafana"
43        - "./grafana/grafana.ini:/etc/grafana/grafana.ini"
44        - "./grafana/grafana-datasource-provisioning.yml:/etc/grafana/provisioning/datasources/postgres.yml"
45      ports:
46        - '3000:3000'
47      depends_on:
48        database:
49          condition: service_healthy
50  
51  volumes:
52    grafana-data: