Перед началом работы необходимо настроить переменные окружения. Для этого переименуйте файл .env.example
в .env
и укажите в нем требуемые параметры. Пример содержимого файла .env
:
PROJECT_NAME=question
APP_PORT=8001
DB_DRIVER=postgresql
DB_HOST=db
DB_PORT=5432
DB_DBNAME=quiz
DB_USERNAME=myuser
DB_PASSWORD=mypassword
APP_PORT
: порт для обработки HTTP запросов (например,http://host:8001
).PROJECT_NAME
: имя проекта, используется для именования контейнеров.DB_*
: параметры для подключения к базе данных.
Для запуска контейнеров используйте команду:
docker-compose up -d
Войдите в контейнер с Python, используя имя вашего проекта из переменной окружения PROJECT_NAME
:
- Войдите в контейнер с Python:
docker exec -it question_service bash
- Запустите миграции:
alembic upgrade head
Настройте Nginx для перенаправления запросов на порт 8001
вашего контейнера. В конфигурации Docker Compose порт указан так:
ports:
- "${APP_PORT}:8080"
После настройки проекта и запуска сервисов вы можете тестировать API. Для этого используйте HTTP POST запросы к эндпоинту.
Если вы настроили Nginx для перенаправления запросов с порта 80 на порт 8001, запрос можно отправить на http://localhost/api/v1/question
. Если перенаправление не настроено, используйте адрес http://<host>:8001/api/v1/question
.
Вот пример тестового запроса с использованием cURL, который отправляет данные в формате JSON:
curl --location --request POST 'http://<host>/api/v1/question' \
--header 'Content-Type: application/json' \
--data-raw '{
"questions_num": 3
}'