# Локальное окружение разработки. Скопируйте в .env: cp .env.example .env (.env в git не попадает) # Файл читают docker compose (из этого каталога) и, блоком ниже, сервисы при запуске из venv. # --- Переменные docker-compose: учётные данные, порты хоста, бакет --- # Адрес привязки портов хоста: 127.0.0.1 — только эта машина; 0.0.0.0 — доступ с других машин (пароли по умолчанию dev) BIND_ADDR=127.0.0.1 # PostgreSQL 16 (схема dkb создаётся миграциями arm-core, не compose) POSTGRES_DB=armka POSTGRES_USER=armka POSTGRES_PASSWORD=armka POSTGRES_PORT=5432 # NATS 2.10 без JetStream: клиентский порт и порт мониторинга (/varz, /healthz) NATS_PORT=4222 NATS_MONITOR_PORT=8222 # MinIO: учётная запись администратора, порты API и консоли, единственный бакет MINIO_ROOT_USER=minioadmin MINIO_ROOT_PASSWORD=minioadmin MINIO_API_PORT=9000 MINIO_CONSOLE_PORT=9001 MINIO_BUCKET=arm-ka # Порты хоста сервисов профиля `services` (docker compose --profile services ...). Внутри контейнера каждый сервис # слушает 8000; эти значения меняют только порт на хосте. Настройки сервисов в контейнерах compose задаёт сам # (docker-compose.yml, x-service-env), блок ниже на них не влияет. ARM_CORE_PORT=8000 TABULAR_PARSER_PORT=8001 SCAN_GATEWAY_PORT=8002 # --- Настройки сервисов при запуске из venv против compose по localhost (формат шаблона команды) --- # Значения согласованы с блоком выше: при смене порта/пароля/бакета меняйте обе части. # Если порт хоста изменён, поправьте и порты ниже. DEBUG=true # PostgreSQL (драйвер asyncpg) OPENBAO__DATABASE__DATABASE_URL=postgresql+asyncpg://armka:armka@localhost:5432/armka # MinIO: адрес без схемы (host:port) — так ждёт miniopy-async OPENBAO__MINIO__MINIO_URL=localhost:9000 OPENBAO__MINIO__MINIO_ADMIN_LOGIN=minioadmin OPENBAO__MINIO__MINIO_ADMIN_PASSWORD=minioadmin OPENBAO__MINIO__MINIO_BUCKET=arm-ka # NATS без JetStream; пустые NATS_SEED/NATS_JWT — подключение без nkeys OPENBAO__NATS__NATS_URL=nats://localhost:4222 OPENBAO__NATS__NATS_SEED= OPENBAO__NATS__NATS_JWT= # Subject'ы окружения — одинаковые у arm-core, tabular-parser и scan-gateway (значения ниже — умолчания). # Прод и тест имеют свои наборы; JWT должен давать publish/subscribe на эти subject'ы. OPENBAO__NATS__NATS_TABULAR_REQUEST_SUBJECT=files.tabular_uploaded OPENBAO__NATS__NATS_IMAGE_REQUEST_SUBJECT=files.img_uploaded OPENBAO__NATS__NATS_RESULT_SUBJECT=files.tabular_parsed # SMB — заглушки (в Срезе 0 не используется); блок необязателен для arm-core и scan-gateway (режим local). # Блок OPENBAO__DATABASE__* знает только arm-core: scan-gateway и tabular-parser неизвестные ключи OPENBAO__* отвергают # (extra_forbidden) — для scan-gateway удалите блок DATABASE, для tabular-parser удалите блоки DATABASE и SMB (см. dev/README.md) OPENBAO__SMB__SMB_HOST=localhost OPENBAO__SMB__SMB_PATH=share OPENBAO__SMB__SMB_LOGIN=user OPENBAO__SMB__SMB_PASSWORD=password # Включает подключение arm-core к NATS (без него /healthcheck показывает nats=off) NATS_ENABLED=true