97 lines
2.7 KiB
Markdown
97 lines
2.7 KiB
Markdown
# Запуск веб-интерфейса через 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
|
||
``` |