Предварительно нужно создать файл .env
в корне проекта по шаблону .env.example
Далее надо освободить порт 5432, используемый обычно Postgres, после чего запускаем контейнер:
docker network create eat_place
docker-compose up -d --build
docker compose exec rest_api migrate
- Create an automatic migration from changes in
src/models.py
docker compose exec rest_api makemigrations users_added # or other name of the migration
- Run migrations
docker compose exec rest_api migrate
- Downgrade migrations
docker compose exec rest_api downgrade -1 # or -2 or base or hash of the migration
docker compose exec rest_api format
docker compose exec rest_api pytest
docker exec -it redis sh
redis-cli -h redis -p 6379 -a myStrongPassword
По умолчанию сервер доступен на локальной сети на порту 8000 http://127.0.0.1:8000/
Для просмотра документации допишите в конце адреса путь docs: http://127.0.0.1:8000/docs
В файл .env добавить переменную SENTRY_DSN для мониторинга и заменить ENVIRONMENT. Например:
...
ENVIRONMENT=PRODUCTION
SENTRY_DSN=https://123456789.ingest.sentry.io/987654321
...
Запустить контейнер
docker network create eat_place
docker-compose -f docker-compose.prod.yml up -d --build