Skip to content

REST API service for reviews about books, films and music. Docker container runs the application and its database.

Notifications You must be signed in to change notification settings

MariaMozgunova/rest_api_docker

Repository files navigation

API Yamdb

В этом проекты вы найдёте Dockerfile и docker-compose.yaml. Последний указанный файл запускает два контейнера: API отзывов о фильмах, книгах и песнях - yamdb, и базу данных PostgreSQL.

Предварительные требования использования приложения

  • Docker

P.S. Можно установить Docker Toolbox, если у вас Windows более раннего выпуска, нежели Windows 10.

Запуск приложения

  1. Склонируйте репозиторий git clone https://github.com/MariaMozgunova/infra_sp2.git [<dir_name>];
  2. Перейдите в папку командой cd <dir_name>;
  3. Создайте файл конфигураций .env:
    • сделайте копию шаблона файла .env cp .env.template .env;
    • присвойте актуальные значения всем полям.
  4. Запустите контейнеры docker-compose up -d;
  5. Когда проект будет запущен, перейдите на localhost:8000 и проверьте, что видите надпись 'Not Found'. Если вы установили Docker Toolbox, перейдите по адресу http://192.168.99.100:8000.

Отлично! Всё работает.

Заполнение базы начальными данными

  1. Выполните команду docker container ls, чтобы увидеть CONTAINER ID контейнера с полем IMAGE = infra_sp2_web;
  2. Выполните вход в контейнер командой docker exec -it <CONTAINER ID> bash;
  3. Выполните миграции python3 manage.py migrate;
  4. В файле initial_data.json подготовлены начальные данные, загрузите их в базу python manage.py loaddata initial_data.json;

Если вы хотите создать свои тестовые данные, посмотрите статью RealPython https://realpython.com/data-migrations/#examples . Также вы можете создать данные через shell, импортировав модели: python manage.py shell.

Создания суперпользователя контейнера

Если вы, находясь в docker-контейнере, захотите создать суперпользователя, выполните следующие действия:

  • Обновить список пакетов apt update;
  • Установите пакет sudo apt-get install sudo;
  • Создайте пользователя adduser <username>;
  • Добавьте нового пользователя в группу sudo usermod -aG sudo <username>.

Создание суперпользователя Django-проекта

В контейнере приложения выполните следующие команды:

  • python manage.py createsuperuser;
  • введите почту и придумайте пароль.

About

REST API service for reviews about books, films and music. Docker container runs the application and its database.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published