From c0e2856412de8b08bca995762c7d61e4db5fe7ff Mon Sep 17 00:00:00 2001 From: Roman Chesnokov Date: Thu, 14 May 2026 19:01:01 +0500 Subject: [PATCH] fix(compose): separate meta DBs for Metabase and Directus; replace NocoDB with Directus MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- .env.example | 31 ++++++++++++++++++++----------- docker-compose.yml | 29 +++++++++++++++++++---------- 2 files changed, 39 insertions(+), 21 deletions(-) diff --git a/.env.example b/.env.example index 87a215d..a8a0137 100644 --- a/.env.example +++ b/.env.example @@ -1,12 +1,30 @@ # 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_PASSWORD= PG_DB=bit_flight_deck PG_HOST=pipeline_postgres PG_PORT=5432 +# Metabase — отдельная metadata-БД в pipeline_postgres +METABASE_PORT=3001 +METABASE_DB=metabase_meta +METABASE_DB_USER=metabase_user +METABASE_DB_PASSWORD= +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= +DIRECTUS_KEY= +DIRECTUS_SECRET= +DIRECTUS_ADMIN_EMAIL=roachesnokov@gmail.com +DIRECTUS_ADMIN_PASSWORD= + # BIT.RA HTTP-сервисы (Phase 3 — пишутся в 1С Конфигуратор) BITRA_BASE_URL=http:////hs/IntegrationAPI/v1 BITRA_USER=bit_flight_deck_api @@ -18,13 +36,4 @@ EVA_ADMIN_TOKEN= # Bitrix24 BITRIX_WEBHOOK_URL=https://vdst421.1cbit.ru/rest/91// -BITRIX_WEBHOOK_SECRET= - -# Metabase -METABASE_SITE_NAME=bit-flight-deck -METABASE_PORT=3001 - -# NocoDB -NOCODB_PORT=8090 -NOCODB_ADMIN_EMAIL=roachesnokov@gmail.com -NOCODB_ADMIN_PASSWORD= +BITRIX_WEBHOOK_SECRET= diff --git a/docker-compose.yml b/docker-compose.yml index 204b615..c983de3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,25 +7,34 @@ services: - "${METABASE_PORT:-3001}:3000" environment: MB_DB_TYPE: postgres - MB_DB_DBNAME: ${PG_DB} + MB_DB_DBNAME: ${METABASE_DB} MB_DB_PORT: 5432 - MB_DB_USER: ${PG_USER} - MB_DB_PASS: ${PG_PASSWORD} + MB_DB_USER: ${METABASE_DB_USER} + MB_DB_PASS: ${METABASE_DB_PASSWORD} MB_DB_HOST: ${PG_HOST} MB_SITE_NAME: ${METABASE_SITE_NAME:-bit-flight-deck} networks: - pipeline_net - nocodb: - image: nocodb/nocodb:latest - container_name: bfd_nocodb + directus: + image: directus/directus:latest + container_name: bfd_directus restart: unless-stopped ports: - - "${NOCODB_PORT:-8090}:8080" + - "${DIRECTUS_PORT:-8055}:8055" environment: - NC_DB: "pg://${PG_HOST}:5432?u=${PG_USER}&p=${PG_PASSWORD}&d=${PG_DB}" - NC_ADMIN_EMAIL: ${NOCODB_ADMIN_EMAIL} - NC_ADMIN_PASSWORD: ${NOCODB_ADMIN_PASSWORD} + KEY: ${DIRECTUS_KEY} + SECRET: ${DIRECTUS_SECRET} + 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: - pipeline_net