Skip to content

Latest commit

 

History

History
59 lines (48 loc) · 3.57 KB

File metadata and controls

59 lines (48 loc) · 3.57 KB

Проект Foodgram - продуктовый помощник

Технологии:

Python Django Django REST Framework PostgreSQL Nginx gunicorn docker Yandex.Cloud Ubuntu

Описание проекта

Сервис 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