mindsdb

Форк
0
/
docker-compose-ci.yml 
193 строки · 5.3 Кб
1
version: "3.2"
2

3
services:
4
  db:
5
    image: postgres
6
    restart: always
7
    environment:
8
      POSTGRES_DB: "mindsdb"
9
      POSTGRES_USER: "postgres"
10
      POSTGRES_PASSWORD: "postgres"
11
      PGPORT: 15432
12
    healthcheck:
13
      test: [ "CMD-SHELL", "pg_isready -U postgres" ]
14
      interval: 1s
15
      timeout: 1s
16
      retries: 15
17

18
  migrations:
19
    command: bash -c "cd /mindsdb && python ./mindsdb/migrations/migrate.py"
20

21
    <<: &globalSettings
22
      depends_on:
23
        db:
24
          condition: service_healthy
25
      build:
26
        context: ../
27
        dockerfile: ./docker/mindsdb.Dockerfile
28
      volumes:
29
        - type: bind
30
          source: ../
31
          target: /mindsdb
32
      environment:
33
        MINDSDB_STORAGE_DIR: "/mindsdb/var"
34
        MINDSDB_DB_CON: "postgresql://postgres:postgres@db:15432/mindsdb"
35
  mindsdb:
36
    # Copy global settings from migration above
37
    <<: *globalSettings
38
    restart: always
39
    ports:
40
      - '47334:47334'
41
      - '47335:47335'
42
      - '47336:47336'
43
        # command: bash -c "cd /mindsdb && python -m mindsdb --api=http,mysql,mongodb"
44
    command: bash -c "cd /mindsdb && python -m mindsdb --api=http,mysql,mongodb --config=tests/integration_tests/flows/config/docker_config.json"
45
    environment:
46
      MINDSDB_EXECUTOR_SERVICE_HOST: "executor"
47
      MINDSDB_EXECUTOR_SERVICE_PORT: "50052"
48
      MINDSDB_DB_SERVICE_HOST: "db_service"
49
      MINDSDB_DB_SERVICE_PORT: "50050"
50
      MINDSDB_DOCKER_ENV: "True"
51
      MINDSDB_STORAGE_DIR: "/mindsdb/var"
52
      MINDSDB_DB_CON: "postgresql://postgres:postgres@db:15432/mindsdb"
53
      FLASK_DEBUG: "1"
54
      FLASK_ENV: "development"
55
      FLASK_APP: "/mindsdb/mindsdb/__main__.py"
56
      SEPARATE_MIGRATIONS: "1"
57
    depends_on:
58
      - migrations
59
      - postgres_db
60
      - mysql_db
61
      - maria_db
62
    healthcheck:
63
      test:  ["CMD", "curl", "-f", "http://localhost:47334/api/util/ping"]
64
      interval: 30s
65
      timeout: 4s
66
      retries: 100
67

68
  lightwood:
69
    build:
70
      context: ../
71
      dockerfile: ./docker/ml_handler.Dockerfile
72
    depends_on:
73
      - mindsdb
74
    volumes:
75
      - type: bind
76
        source: ../
77
        target: /mindsdb
78
    environment:
79
      # have to share mindsdb database, because it doesn't work without it
80
      REGISTRY_URL: "http://handler_discovery:5000"
81
      PORT: 50051
82
      HOST: "lightwood"
83
      MINDSDB_SERVICE_TYPE: "lightwood"
84
      MINDSDB_STORAGE_DIR: "/mindsdb/var"
85
      MINDSDB_DB_CON: "postgresql://postgres:postgres@db:15432/mindsdb"
86
      REGISTRY_URL: "http://handler_discovery:5000"
87
      MINDSDB_DB_SERVICE_HOST: "db_service"
88
      MINDSDB_DB_SERVICE_PORT: "50050"
89

90
  huggingface:
91
    build:
92
      context: ../
93
      dockerfile: ./docker/ml_handler.Dockerfile
94
    depends_on:
95
      - mindsdb
96
    volumes:
97
      - type: bind
98
        source: ../
99
        target: /mindsdb
100
    environment:
101
      # have to share mindsdb database, because it doesn't work without it
102
      PORT: 50053
103
      HOST: "huggingface"
104
      MINDSDB_SERVICE_TYPE: "huggingface"
105
      MINDSDB_STORAGE_DIR: "/mindsdb/var"
106
      MINDSDB_DB_CON: "postgresql://postgres:postgres@db:15432/mindsdb"
107
      REGISTRY_URL: "http://handler_discovery:5000"
108
      MINDSDB_DB_SERVICE_HOST: "db_service"
109
      MINDSDB_DB_SERVICE_PORT: "50050"
110

111
  db_service:
112
    build:
113
      context: ../
114
      dockerfile: ./docker/db_handler.Dockerfile
115
    depends_on:
116
      - mindsdb
117
    volumes:
118
      - type: bind
119
        source: ../
120
        target: /mindsdb
121
    environment:
122
      MINDSDB_STORAGE_DIR: "/mindsdb/var"
123
      MINDSDB_DB_CON: "postgresql://postgres:postgres@db:15432/mindsdb"
124
      PORT: "50050"
125

126
    healthcheck:
127
      test:  ["CMD", "curl", "-f", "http://localhost:5000"]
128
      interval: 120s
129
      timeout: 4s
130
      retries: 100
131

132
  executor:
133
    build:
134
      context: ../
135
      dockerfile: ./docker/executor.Dockerfile
136
    depends_on:
137
      - mindsdb
138
    environment:
139
      # have to share mindsdb database, because it doesn't work without it
140
      PORT: 50052
141
      MINDSDB_STORAGE_DIR: "/mindsdb/var"
142
      MINDSDB_DB_CON: "postgresql://postgres:postgres@db:15432/mindsdb"
143
      MINDSDB_DB_SERVICE_HOST: "db_service"
144
      MINDSDB_DB_SERVICE_PORT: "50050"
145
      REGISTRY_URL: "http://handler_discovery:5000"
146
    volumes:
147
      - type: bind
148
        source: ../
149
        target: /mindsdb
150
    healthcheck:
151
      test:  ["CMD", "curl", "-f", "http://localhost:5000"]
152
      interval: 120s
153
      timeout: 4s
154
      retries: 100
155

156
  handler_discovery:
157
    build:
158
      context: .
159
      dockerfile: ./handler_discovery.Dockerfile
160
    environment:
161
      PORT: 5000
162

163
  postgres_db:
164
    image: "mindsdb/postgres-handler-test"
165
    environment:
166
      POSTGRES_PASSWORD: "supersecret"
167
    healthcheck:
168
      test: ["CMD", "sh -c 'pg_isready -U root -d test'"]
169
      interval: 10s
170
      timeout: 3s
171
      retries: 3
172

173
  maria_db:
174
    image: "mindsdb/mariadb-handler-test"
175
    environment:
176
      MARIADB_ROOT_PASSWORD: "supersecret"
177
    healthcheck:
178
      test: ["CMD", 'mysqladmin', 'ping', '-h', 'localhost', '-u', 'root', '-p$$MARIADB_ROOT_PASSWORD' ]
179
      interval: 10s
180
      timeout: 3s
181
      retries: 3
182

183
  mysql_db:
184
    image: "mindsdb/mysql-handler-test"
185
    command: "--secure-file-priv=/"
186
    environment:
187
      MYSQL_ROOT_PASSWORD: "supersecret"
188
      MYSQL_TCP_PORT: 13306
189
    healthcheck:
190
      test: ["CMD", 'mysqladmin', 'ping', '-h', 'localhost', '-u', 'root', '-p$$MYSQL_ROOT_PASSWORD' ]
191
      interval: 10s
192
      timeout: 3s
193
      retries: 3
194

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.