# Система тестирования + общий Postgres (Postgres_TG_Bots / hr_postgres_dev). # Требуется: сеть hr_postgres_dev_net и поднятый hr_postgres_dev. # cd ../Postgres_TG_Bots && docker compose -f docker-compose.dev.yml up -d # База clinic_tests: один раз # psql "postgresql://hr_bot_user:hrbot123@localhost:5432/postgres" -c "CREATE DATABASE clinic_tests;" # # Flask-only режим. Выбор варианта интерфейса через profile: # COMPOSE_PROFILES=modern docker compose -f docker-compose.dev.yml up -d --build # COMPOSE_PROFILES=legacy docker compose -f docker-compose.dev.yml up -d --build # Оба варианта работают на одном Flask-стеке, отличаются только UI-раскладкой. # UI (Flask modern): http://localhost:3108 # UI (Flask legacy): http://localhost:3107 services: # Flask modern UI testing-flask: profiles: ["modern"] build: context: ./flask_app dockerfile: Dockerfile container_name: testing_webapp_flask environment: PORT: "3108" WEB_USE_WAITRESS: "1" FLASK_DEBUG: "0" SECRET_KEY: ${FLASK_SECRET_KEY:-testing_flask_dev_change_me} # БД (clinic_tests) в общей сети hr_postgres_dev_net. # По умолчанию используем те же dev-учётки, что и в backend-сервисе. DATABASE_URL: ${DATABASE_URL:-postgresql+psycopg2://hr_bot_user:hrbot123@hr_postgres_dev:5432/clinic_tests} # HR-аутентификация включена по умолчанию: # пароль проверяется в hr_bot_test.users + staff по web_login. HR_AUTH: ${HR_AUTH:-1} HR_DATABASE_URL: ${HR_DATABASE_URL:-postgresql://hr_bot_user:hrbot123@hr_postgres_dev:5432/hr_bot_test} UI_VARIANT: ${UI_VARIANT_MODERN:-modern} DEV_FIO_PASSWORD: ${DEV_FIO_PASSWORD:-} # LLM (E1.2/E1.3/E1.8): один общий ключ, читается из .env проекта. DEEPSEEK_API_KEY: ${DEEPSEEK_API_KEY:-} OPENAI_API_KEY: ${OPENAI_API_KEY:-} LLM_BASE_URL: ${LLM_BASE_URL:-} LLM_MODEL: ${LLM_MODEL:-} ports: - "3108:3108" networks: - app - postgres # Flask legacy UI (старое расположение элементов на новом стеке) testing-flask-legacy: profiles: ["legacy"] build: context: ./flask_app dockerfile: Dockerfile container_name: testing_webapp_flask_legacy environment: PORT: "3107" WEB_USE_WAITRESS: "1" FLASK_DEBUG: "0" SECRET_KEY: ${FLASK_SECRET_KEY:-testing_flask_dev_change_me} DATABASE_URL: ${DATABASE_URL:-postgresql+psycopg2://hr_bot_user:hrbot123@hr_postgres_dev:5432/clinic_tests} HR_AUTH: ${HR_AUTH:-1} HR_DATABASE_URL: ${HR_DATABASE_URL:-postgresql://hr_bot_user:hrbot123@hr_postgres_dev:5432/hr_bot_test} UI_VARIANT: ${UI_VARIANT_LEGACY:-legacy} DEV_FIO_PASSWORD: ${DEV_FIO_PASSWORD:-} DEEPSEEK_API_KEY: ${DEEPSEEK_API_KEY:-} OPENAI_API_KEY: ${OPENAI_API_KEY:-} LLM_BASE_URL: ${LLM_BASE_URL:-} LLM_MODEL: ${LLM_MODEL:-} ports: - "3107:3107" networks: - app - postgres networks: app: postgres: name: hr_postgres_dev_net external: true