Skip to content

Основной репозиторий с серверной частью проекта

License

Notifications You must be signed in to change notification settings

PrettyPet-Organization/backend-fastapi

Repository files navigation

Backend FastAPI - Развертывание и разработка

Содержание

  1. Предварительные требования
  2. Быстрый старт
  3. Альтернативные способы запуска
  4. API Документация
  5. Полезные команды для разработки

Предварительные требования

Содержание

Убедитесь, что у вас установлены:

  • Docker и Docker Compose (рекомендуемый способ)
  • Python 3.13+ (если запускаете без Docker)
  • Git

Быстрый старт (рекомендуемый способ)

Содержание

1. Клонирование репозитория

git clone https://github.com/PrettyPet-Organization/backend-fastapi.git
cd backend-fastapi
git checkout develop

2. Настройка переменных окружения

# Копируем шаблон и редактируем
cp .env .env

Отредактируйте файл .env - замените значения на актуальные для вашего окружения.

3. Запуск через Docker

# На Linux
make docker-run

# На Windows
docker compose up -d

Этот способ автоматически:

  • Соберет Docker-образ
  • Запустит базу данных PostgreSQL
  • Запустит FastAPI приложение
  • Запускает тестовый почтовый сервис
  • Запускает portainer(для Linux)

Альтернативные способы запуска

Содержание

Способ 1: Без Docker (для разработки)

# Активируйте виртуальное окружение (рекомендуется)
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 8000

Способ 2: С загрузкой .env файла

DOTENV_MODE=true uvicorn main:app --reload

Настройка .env файла

Обязательные для изменения параметры в .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 нужен пароль приложения

Проверка работоспособности

После запуска:

Полезные команды

# Остановка контейнеров
make docker-stop

# Просмотр логов
docker-compose logs -f

# Пересборка и запуск
make docker-rebuild

Рекомендация

  • Используйте make docker-run - это самый надежный способ, так как он гарантированно настроит все зависимости и базу данных автоматически.
  • После запуска проверьте http://localhost:8000/docs - если документация API открывается, значит все работает корректно!

API Документация

Вся документация сформирована через автогенерацию FastApi(Swagger):

Полезные команды для разработки

Содержание

Разработка с hot-reload

# Запуск в режиме разработки
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

About

Основной репозиторий с серверной частью проекта

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 7