Skip to content

DenisKirichenko24/foodgram-project-react

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yamdb_workflow

Foodgram

Содержание

Foodgram реализован для публикации рецептов. Авторизованные пользователи могут подписываться на понравившихся авторов, добавлять рецепты в избранное, в покупки, скачать список покупок ингредиентов для добавленных в покупки рецептов.

В проекте применены

  • Django REST Framework,
  • Python 3,
  • PostgreSQL,
  • Docker,
  • Nginx,
  • Gunicorn,
  • Git,
  • Аутентификация реализована с помощью токена.
  • Установите Docker на ваш сервер:
 sudo apt install docker.io
  • Установите Docker-compose на сервер:
 sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
 sudo chmod +x /usr/local/bin/docker-compose
  • Скопируйте на сервер файлы Docker-compose.yml и nginx.conf из папки infra/. Укажите в конфиге ваш IP.
scp docker-compose.yml admin@51.250.18.186:/home/admin/docker-compose.yml
scp nginx.conf admin@51.250.18.186:/home/admin/nginx.conf
  • При первом деплоее локально в файле foodgram_workflow.yml в deploy указываем флаг --build:
 sudo docker-compose rm -f backend --build
  • После успешного деплоя зайдите на боевой сервер и выполните команды (только после первого деплоя): Собрать статические файлы в STATIC_ROOT:
  docker-compose exec backend python3 manage.py collectstatic --noinput
  • После запуска контейнеров выполните команды в терминале:
 docker-compose exec backend python manage.py makemigrations
 docker-compose exec backend python manage.py migrate --noinput
  • Создаём суперпользователя
 docker-compose exec backend python manage.py createsuperuser
  • Загружаем ингредиенты в базу данных (необязательно):
 docker-compose exec backend python manage.py loaddata ingredients.json
  • Запуск контейнеров выполняется командой:
 docker-compose up
  • Остановка контейнеров выполняется командой:
 docker-compose stop
  flake8, isort
 Денис Кириченко