fix(compose): separate meta DBs for Metabase and Directus; replace NocoDB with Directus

- Metabase metadata → metabase_meta DB (was: shared bit_flight_deck.public, caused conflicts)
- NocoDB removed (Community Edition requires Enterprise plan for external PostgreSQL sources)
- Directus added → directus_meta DB (open-source, works with PG as source DB out of the box)
- Both metabase_user and directus_user get read access to bit_flight_deck schemas
- directus_user gets RW on core.identity_map, core.deal_team_member, core.employee
This commit is contained in:
Roman Chesnokov
2026-05-14 19:01:01 +05:00
parent 2b96f18435
commit c0e2856412
2 changed files with 39 additions and 21 deletions
+20 -11
View File
@@ -1,12 +1,30 @@
# Copy to .env and fill in real values. .env is gitignored. # Copy to .env and fill in real values. .env is gitignored.
# Each service has its own DB in pipeline_postgres (project pattern).
# PostgreSQL — workload-проектная БД в pipeline_postgres # Project DB — наши данные core/mart/raw/stg (создаётся через infra/init-bit-flight-deck-db.sql)
PG_USER=bit_flight_deck_user PG_USER=bit_flight_deck_user
PG_PASSWORD=<set after init-bit-flight-deck-db.sql> PG_PASSWORD=<set after init-bit-flight-deck-db.sql>
PG_DB=bit_flight_deck PG_DB=bit_flight_deck
PG_HOST=pipeline_postgres PG_HOST=pipeline_postgres
PG_PORT=5432 PG_PORT=5432
# Metabase — отдельная metadata-БД в pipeline_postgres
METABASE_PORT=3001
METABASE_DB=metabase_meta
METABASE_DB_USER=metabase_user
METABASE_DB_PASSWORD=<set>
METABASE_SITE_NAME=bit-flight-deck
# Directus — отдельная metadata-БД, плюс read-доступ к bit_flight_deck
DIRECTUS_PORT=8055
DIRECTUS_DB=directus_meta
DIRECTUS_DB_USER=directus_user
DIRECTUS_DB_PASSWORD=<set>
DIRECTUS_KEY=<random 64 hex>
DIRECTUS_SECRET=<random 64 hex>
DIRECTUS_ADMIN_EMAIL=roachesnokov@gmail.com
DIRECTUS_ADMIN_PASSWORD=<set>
# BIT.RA HTTP-сервисы (Phase 3 — пишутся в 1С Конфигуратор) # BIT.RA HTTP-сервисы (Phase 3 — пишутся в 1С Конфигуратор)
BITRA_BASE_URL=http://<host>/<dbname>/hs/IntegrationAPI/v1 BITRA_BASE_URL=http://<host>/<dbname>/hs/IntegrationAPI/v1
BITRA_USER=bit_flight_deck_api BITRA_USER=bit_flight_deck_api
@@ -18,13 +36,4 @@ EVA_ADMIN_TOKEN=<global admin token from EVA admin panel>
# Bitrix24 # Bitrix24
BITRIX_WEBHOOK_URL=https://vdst421.1cbit.ru/rest/91/<webhook-token>/ BITRIX_WEBHOOK_URL=https://vdst421.1cbit.ru/rest/91/<webhook-token>/
BITRIX_WEBHOOK_SECRET=<random; placed in the n8n webhook path so only Bitrix knows it> BITRIX_WEBHOOK_SECRET=<random; placed in n8n webhook path so only Bitrix knows it>
# Metabase
METABASE_SITE_NAME=bit-flight-deck
METABASE_PORT=3001
# NocoDB
NOCODB_PORT=8090
NOCODB_ADMIN_EMAIL=roachesnokov@gmail.com
NOCODB_ADMIN_PASSWORD=<set>
+19 -10
View File
@@ -7,25 +7,34 @@ services:
- "${METABASE_PORT:-3001}:3000" - "${METABASE_PORT:-3001}:3000"
environment: environment:
MB_DB_TYPE: postgres MB_DB_TYPE: postgres
MB_DB_DBNAME: ${PG_DB} MB_DB_DBNAME: ${METABASE_DB}
MB_DB_PORT: 5432 MB_DB_PORT: 5432
MB_DB_USER: ${PG_USER} MB_DB_USER: ${METABASE_DB_USER}
MB_DB_PASS: ${PG_PASSWORD} MB_DB_PASS: ${METABASE_DB_PASSWORD}
MB_DB_HOST: ${PG_HOST} MB_DB_HOST: ${PG_HOST}
MB_SITE_NAME: ${METABASE_SITE_NAME:-bit-flight-deck} MB_SITE_NAME: ${METABASE_SITE_NAME:-bit-flight-deck}
networks: networks:
- pipeline_net - pipeline_net
nocodb: directus:
image: nocodb/nocodb:latest image: directus/directus:latest
container_name: bfd_nocodb container_name: bfd_directus
restart: unless-stopped restart: unless-stopped
ports: ports:
- "${NOCODB_PORT:-8090}:8080" - "${DIRECTUS_PORT:-8055}:8055"
environment: environment:
NC_DB: "pg://${PG_HOST}:5432?u=${PG_USER}&p=${PG_PASSWORD}&d=${PG_DB}" KEY: ${DIRECTUS_KEY}
NC_ADMIN_EMAIL: ${NOCODB_ADMIN_EMAIL} SECRET: ${DIRECTUS_SECRET}
NC_ADMIN_PASSWORD: ${NOCODB_ADMIN_PASSWORD} DB_CLIENT: pg
DB_HOST: ${PG_HOST}
DB_PORT: 5432
DB_DATABASE: ${DIRECTUS_DB}
DB_USER: ${DIRECTUS_DB_USER}
DB_PASSWORD: ${DIRECTUS_DB_PASSWORD}
ADMIN_EMAIL: ${DIRECTUS_ADMIN_EMAIL}
ADMIN_PASSWORD: ${DIRECTUS_ADMIN_PASSWORD}
PUBLIC_URL: http://localhost:${DIRECTUS_PORT:-8055}
WEBSOCKETS_ENABLED: "true"
networks: networks:
- pipeline_net - pipeline_net