Сервис Foodgram - это продуктовый помощник, который создан для тех кто любит готовить и готов поделиться рецептами с другими. Гости сервиса могут просматривать рецепты, а после регистрации пользователи смогут создавать собственный рецепты, подписываться на других пользователей, добавлять понравившиеся рецепты в избранное и создавать список покупок, по выбранным рецептам.
Проект разворачивается в Docker контейнерах: backend-приложение API, PostgreSQL-база данных, nginx-сервер и frontend-контейнер.
Клонируйте репозиторий, перейдите в папку, создайте виртуальное окружение, установите docker и docker-compose
Создать файл окружения и заполнить необходимыми параметрами
touch .env
echo DB_ENGINE=django.db.backends.postgresql >> .env
echo DB_NAME=postgres >> .env
echo POSTGRES_PASSWORD=postgres >> .env
echo POSTGRES_USER=postgres >> .env
echo DB_HOST=db >> .env
echo DB_PORT=5432 >> .env
echo SECRET_KEY=************ >> .env
echo DEBUG=0 >> .env
вместо * необходимо указать секретный ключ django из settings. При отключенном дебаге базой данных будет Postgres, в противном случае будет SQLite
Установить и запустить приложения в контейнерах:
$ cd infra
$ docker-compose up --build
Запустить миграции, создать суперюзера, собрать статику и заполнить БД ингредиентами:
$ docker-compose exec backend python manage.py migrate
$ docker-compose exec backend python manage.py createsuperuser
$ docker-compose exec backend python manage.py collectstatic --no-input
$ docker-compose exec backend python manage.py load_data
$ docker-compose stop
Selivanov Dmitry