Все настройки задаются в .env (шаблон — .env.example).
Dashboard
| Переменная |
По умолчанию |
Описание |
DASHBOARD_PORT |
80 |
Порт CRM Dashboard |
APP_VERSION |
1.1.0 |
Версия приложения |
Dynamic API
| Переменная |
По умолчанию |
Описание |
DYNAMIC_API_PORT |
3001 |
Порт REST API |
DYNAMIC_API_PANEL_PORT |
8080 |
Порт панели Dynamic API |
CORS_ORIGIN |
localhost URLs |
Origin через запятую |
JWT_SECRET |
— |
Access token (≥32 символов) |
JWT_REFRESH_SECRET |
— |
Refresh token |
CSRF_SECRET |
— |
CSRF |
ADMIN_LOGIN |
admin |
Логин администратора |
ADMIN_EMAIL |
admin@wash-pro-crm.local |
Email |
ADMIN_PASSWORD |
Admin123! |
Пароль |
UPDATE_EXECUTOR_ENABLED |
true |
Автообновление через update-bridge (GitHub → Docker) |
CRM_GITHUB_REPO |
WASH-PRO/WASH-PRO-CRM |
Репозиторий CRM для проверки релизов |
DYNAMIC_API_GITHUB_REPO |
Dynamic-API-Platform/Dynamic-API-Platform |
Upstream Dynamic API |
PYORCHESTRATOR_GITHUB_REPO |
PyOrchestrator/PyOrchestrator |
Upstream PyOrchestrator |
# DYNAMIC_API_VERSION |
из package.json |
Принудительная версия (обычно не нужна) |
Актуальная vendored-версия: v1.5.13 (dynamic-api/backend/package.json).
Service account
| Переменная |
По умолчанию |
Описание |
SERVICE_LOGIN |
service |
Аккаунт для message-processor, backup, pyorch-bridge |
SERVICE_PASSWORD |
— |
Пароль |
MQTT
| Переменная |
По умолчанию |
Описание |
MQTT_USER |
system |
Учётная запись CRM (message-processor); не назначайте постам |
MQTT_PASSWORD |
washpro в .env.example |
Пароль при первом запуске; далее — Настройки → MQTT (CRM) |
MQTT_EXTERNAL_PORT |
1883 |
Порт MQTT на хосте (доступен из LAN) |
MQTT_BIND |
пусто |
127.0.0.1 — только localhost, без LAN |
MQTT_DEVICE_PREFIX |
washpro |
Префикс топика dt_pref для исходящих set/* |
MQTT_TOPICS |
— |
Список топиков подписки processor (через запятую) |
MQTT_DEVICE_TOPIC |
+/+/# |
Нативный протокол WASH-PRO |
message-processor (внутренний HTTP)
| Переменная |
По умолчанию |
Описание |
PROCESSOR_HTTP_PORT |
3022 |
HTTP API цен и команд (прокси: /api/crm/post-device/) |
Redis (опционально)
| Переменная |
По умолчанию |
Описание |
REDIS_ENABLED |
false |
+ docker-compose.redis.yml |
REDIS_PASSWORD |
пусто |
Пароль |
Telegram (PyOrchestrator)
Telegram-боты управляются через Dashboard → Telegram и pyorch-bridge → PyOrchestrator. Доступ сотрудников — через Пользователи → Telegram user_id и группы RBAC (не через список admin ID в настройках бота). См. Telegram-боты и Встроенные сервисы.
Backup
| Переменная |
По умолчанию |
Описание |
BACKUP_RETENTION_COUNT |
7 |
Хранить N копий |
BACKUP_CRON |
0 2 * * * |
Расписание mongodump |
PyOrchestrator (опционально)
| Переменная |
По умолчанию |
Описание |
PYORCHESTRATOR_ENABLED |
true в .env.example |
Стек включается только при true в вашем .env |
PYORCHESTRATOR_VERSION |
0.1.13 |
Vendored-версия |
PYORCH_BACKEND_PORT |
8000 |
FastAPI |
PYORCH_PANEL_PORT |
8090 |
Control Plane UI |
PYORCH_MCP_PORT |
8010 |
MCP server |
PYORCH_CORS_ORIGINS |
localhost |
CORS |
PYORCH_JWT_SECRET |
— |
JWT PyOrchestrator |
PYORCH_SECRET_MASTER_KEY |
— |
Шифрование secrets |
PYORCH_INTERNAL_API_KEY |
— |
runtime ↔ backend |
PYORCH_POSTGRES_* |
см. example |
PostgreSQL |
PYORCH_MINIO_* |
см. example |
MinIO workspace |
PYORCH_DASHBOARD_EMAIL |
admin@pyorchestrator.local |
Логин bridge → PyOrch |
PYORCH_DASHBOARD_PASSWORD |
admin |
Пароль bridge |
PYORCH_MCP_EMAIL / PYORCH_MCP_PASSWORD |
admin@… / admin |
MCP auth |
PYORCH_OBSERVABILITY_ENABLED |
false |
Prometheus/Grafana/Loki; при true — блок Observability на Dashboard |
PYORCH_GRAFANA_PUBLIC_URL |
пусто |
Ссылка на Grafana (auto при observability) |
MINIO_CONSOLE_ENABLED |
false в WASH |
Скрыть ссылку на веб-консоль MinIO в System |
Пример production .env
DASHBOARD_PORT=80
JWT_SECRET=your-very-long-random-secret-at-least-32-chars
JWT_REFRESH_SECRET=another-long-random-secret
ADMIN_PASSWORD=StrongP@ssw0rd!
SERVICE_PASSWORD=StrongServiceP@ss!
MQTT_PASSWORD=secure-mqtt-password
PYORCHESTRATOR_ENABLED=true
PYORCH_JWT_SECRET=change-me-in-production
PYORCH_SECRET_MASTER_KEY=change-me-in-production-32chars!!