- Предварительные требования
- Быстрый старт
- Альтернативные способы запуска
- API Документация
- Полезные команды для разработки
Убедитесь, что у вас установлены:
- Docker и Docker Compose (рекомендуемый способ)
- Python 3.13+ (если запускаете без Docker)
- Git
git clone https://github.com/PrettyPet-Organization/backend-fastapi.git
cd backend-fastapi
git checkout develop# Копируем шаблон и редактируем
cp .env .envОтредактируйте файл .env - замените значения на актуальные для вашего окружения.
# На Linux
make docker-run
# На Windows
docker compose up -dЭтот способ автоматически:
- Соберет Docker-образ
- Запустит базу данных PostgreSQL
- Запустит FastAPI приложение
- Запускает тестовый почтовый сервис
- Запускает portainer(для Linux)
# Активируйте виртуальное окружение (рекомендуется)
python -m venv venv
source venv/bin/activate # Linux/Mac
# или venv\Scripts\activate # Windows
# Установите зависимости
pip install -r requirements.txt
# Запустите приложение
uvicorn main:app --reload --host 0.0.0.0 --port 8000DOTENV_MODE=true uvicorn main:app --reloadОбязательные для изменения параметры в .env:
# Настройки базы данных
PG_USER_NAME=your_username
PG_USER_PASSWORD=your_secure_password
PG_DATABASE_NAME=your_database_name
# Безопасность
SECRET_KEY=your_very_secret_key_here
# Email (если используется)
SENDER_EMAIL=your_email@gmail.com
EMAIL_PASSWORD=your_app_password # Для Gmail нужен пароль приложенияПосле запуска:
- Откройте в браузере: http://localhost:8000
- Документация API: http://localhost:8000/docs
- Альтернативная документация: http://localhost:8000/redoc
Полезные команды
# Остановка контейнеров
make docker-stop
# Просмотр логов
docker-compose logs -f
# Пересборка и запуск
make docker-rebuild- Используйте make docker-run - это самый надежный способ, так как он гарантированно настроит все зависимости и базу данных автоматически.
- После запуска проверьте http://localhost:8000/docs - если документация API открывается, значит все работает корректно!
Вся документация сформирована через автогенерацию FastApi(Swagger):
# Запуск в режиме разработки
docker-compose -f docker-compose.yml -f docker-compose.dev.yml up
# Просмотр логов в реальном времени
docker-compose logs -f --tail=100
# Ну или просто
docker-compose up --build# Запуск нагрузочного теста
docker exec -it test_client python load_test.py
# Проверка метрик
curl http://localhost:5000/metricsСервис не запускается
# Проверка занятых портов
ss -tulpn | grep -E ':(5000|5434|9000)'
# Принудительная пересборка
docker-compose down
docker-compose up -d --build --force-recreateПроблемы с БД
# Проверка подключения к БД
docker exec mail_db pg_isready -U mail_user -d mail_service
# Сброс БД (осторожно!)
docker-compose down -v
docker-compose up -d