Проект YaMDb собирает отзывы пользователей на произведения. Произведения делятся на категории: «Книги», «Фильмы», «Музыка». В каждой категории есть произведения: книги, фильмы или музыка. Произведению может быть присвоен жанр. Новые жанры может создавать только администратор. Пользователи могут оставить к произведениям текстовые отзывы и поставить произведению оценку (в диапазоне от одного до десяти). Из пользовательских оценок формируется усреднённая оценка произведения — рейтинг.
- Python 3.7
- Django 2.2.16
- Linux 5.4.0
- Ubuntu 20.04.4
- Gunicorn 20.0.4
- Nginx 1.18.0
- Docker Engine 20.10.17
- Docker-compose 3.3
- PosgreSQL 14.4
Настройте приложение для работы с базой данных Postgres, для этого оно должно знать все данные для подключения к базе. Создайте файл .env в директории /infra_sp2/infra/ с переменными окружения для работы с базой данных:
DB_ENGINE=django.db.backends.postgresql # указываем, что работаем с postgresql
DB_NAME=postgres # имя базы данных
POSTGRES_USER=postgres # логин для подключения к базе данных
POSTGRES_PASSWORD=postgres # пароль для подключения к БД (установите свой)
DB_HOST=db # название сервиса (контейнера)
DB_PORT=5432 # порт для подключения к БД
Запустите docker-compose, для этого перейдите в директорию infra_sp2/infra/ и введите команду:
docker-compose up -d --build #У вас развернётся проект, запущенный через Gunicorn с базой данных Postgres.
Теперь в контейнере web нужно выполнить миграции, создать суперпользователя и собрать статику. Выполните по очереди команды:
docker-compose exec web python manage.py migrate
docker-compose exec web python manage.py createsuperuser
docker-compose exec web python manage.py collectstatic --no-input
- Проект доступен по адресу http://localhost/.
- По адресу http://localhost/admin/ вы можете авторизоваться под аккаунтом суперпользователя.