# Запуск веб-интерфейса через Docker ## Предварительные требования 1. **Docker** и **Docker Compose** установлены 2. **API сервер** запущен отдельно на `http://localhost:8000` ## Запуск ### 1. Запуск API сервера (в отдельном терминале) ```bash cd ../api python run_api.py ``` ### 2. Запуск веб-интерфейса через Docker ```bash # Сборка и запуск контейнера docker-compose up -d # Или с пересборкой docker-compose up -d --build ``` Веб-интерфейс будет доступен по адресу: `http://localhost:3000` ## Управление контейнером ### Просмотр логов ```bash docker-compose logs -f web ``` ### Остановка ```bash docker-compose down ``` ### Перезапуск ```bash docker-compose restart ``` ### Полная очистка ```bash docker-compose down -v docker system prune -f ``` ## Структура ``` app.control-bot/ ├── docker-compose.yml # Конфигурация Docker Compose ├── nginx.conf # Конфигурация Nginx ├── web/ # Статические файлы веб-интерфейса │ ├── index.html │ └── static/ └── DOCKER.md # Эта инструкция ``` ## Особенности конфигурации - **Nginx Alpine** - легковесный образ - **Порт 3000** - веб-интерфейс - **Статические файлы** из папки `./web` - **Кэширование** статических ресурсов - **CORS заголовки** для работы с внешним API - **Сжатие gzip** для лучшей производительности - **Безопасные заголовки** ## Проверка работы 1. Откройте `http://localhost:3000` 2. Проверьте, что API доступен на `http://localhost:8000` 3. Убедитесь, что веб-интерфейс может подключиться к API ## Устранение проблем ### Порт уже используется ```bash # Измените порт в docker-compose.yml ports: - "3001:80" # Вместо 3000 ``` ### API недоступен Убедитесь, что API сервер запущен и доступен на `http://localhost:8000` ### Проблемы с правами доступа ```bash # В Windows может потребоваться запуск от администратора # В Linux/Mac проверьте права на папки chmod -R 755 ./web ```