132 lines
4.0 KiB
Markdown
132 lines
4.0 KiB
Markdown
# Запуск проекта после исправления ошибок
|
||
|
||
## Исправленные проблемы:
|
||
|
||
1. **Отсутствие email-validator** - добавлен в `backend/requirements.txt`
|
||
2. **Неправильный healthcheck PostgreSQL** - изменен на проверку конкретной базы данных
|
||
3. **Ошибка инициализации базы данных** - добавлены команды CREATE TABLE в `init.sql`
|
||
|
||
## Инструкция по запуску:
|
||
|
||
### Шаг 1: Убедитесь, что Docker запущен
|
||
```bash
|
||
docker info
|
||
```
|
||
|
||
Если Docker не запущен, запустите Docker Desktop или Docker daemon.
|
||
|
||
### Шаг 2: Остановите текущие контейнеры и удалите volumes
|
||
```bash
|
||
docker-compose down -v
|
||
```
|
||
|
||
**Внимание:** Эта команда удалит все данные базы данных! Если нужно сохранить данные, пропустите `-v`.
|
||
|
||
### Шаг 3: Пересоберите и запустите проект
|
||
```bash
|
||
docker-compose up --build
|
||
```
|
||
|
||
### Шаг 4: Проверьте работу
|
||
1. **Frontend:** http://localhost
|
||
2. **API документация:** http://localhost:8000/docs
|
||
3. **Тестовый пользователь:** test@example.com / Test1234
|
||
|
||
## Проверка состояния базы данных
|
||
|
||
Если возникают проблемы с базой данных, проверьте:
|
||
|
||
### 1. Логи PostgreSQL:
|
||
```bash
|
||
docker-compose logs postgres
|
||
```
|
||
|
||
Ищите сообщения:
|
||
- `database system is ready to accept connections`
|
||
- `Database initialized successfully`
|
||
|
||
### 2. Подключитесь к базе данных:
|
||
```bash
|
||
docker-compose exec postgres psql -U auth_user -d auth_learning -c "\dt"
|
||
```
|
||
|
||
Ожидаемый вывод (4 таблицы):
|
||
```
|
||
List of relations
|
||
Schema | Name | Type | Owner
|
||
--------+-----------------+-------+----------
|
||
public | courses | table | auth_user
|
||
public | favorite_courses| table | auth_user
|
||
public | progress | table | auth_user
|
||
public | users | table | auth_user
|
||
```
|
||
|
||
### 3. Проверьте тестовые данные:
|
||
```bash
|
||
docker-compose exec postgres psql -U auth_user -d auth_learning -c "SELECT COUNT(*) FROM users;"
|
||
docker-compose exec postgres psql -U auth_user -d auth_learning -c "SELECT COUNT(*) FROM courses;"
|
||
```
|
||
|
||
Ожидаемый вывод:
|
||
```
|
||
count
|
||
-------
|
||
1
|
||
```
|
||
|
||
```
|
||
count
|
||
-------
|
||
10
|
||
```
|
||
|
||
## Решение возможных проблем
|
||
|
||
### Проблема: "Port already in use"
|
||
```bash
|
||
# Найдите процесс, использующий порт
|
||
netstat -ano | findstr :80 # Frontend
|
||
netstat -ano | findstr :8000 # Backend
|
||
netstat -ano | findstr :5432 # PostgreSQL
|
||
|
||
# Остановите процесс или измените порты в docker-compose.yml
|
||
```
|
||
|
||
### Проблема: "Connection refused"
|
||
Убедитесь, что все сервисы запущены:
|
||
```bash
|
||
docker-compose ps
|
||
```
|
||
|
||
Все сервисы должны быть в состоянии "Up".
|
||
|
||
### Проблема: "404 Not Found" на фронтенде
|
||
Подождите 1-2 минуты, пока соберется фронтенд. Проверьте логи:
|
||
```bash
|
||
docker-compose logs frontend
|
||
```
|
||
|
||
## Логи приложения
|
||
```bash
|
||
# Все сервисы
|
||
docker-compose logs -f
|
||
|
||
# Конкретный сервис
|
||
docker-compose logs -f backend
|
||
docker-compose logs -f frontend
|
||
docker-compose logs -f postgres
|
||
```
|
||
|
||
## Остановка приложения
|
||
```bash
|
||
# Без удаления данных
|
||
docker-compose down
|
||
|
||
# С удалением данных БД
|
||
docker-compose down -v
|
||
```
|
||
|
||
## Дополнительная информация
|
||
- Полная документация: [README.md](README.md)
|
||
- Быстрый старт: [QUICKSTART.md](QUICKSTART.md)
|
||
- Исправление email-validator: [FIX_INSTRUCTIONS.md](FIX_INSTRUCTIONS.md) |