Skip to content

KVGribko/foodgram

Repository files navigation

Foodgram

Foodgram

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

Проект создан в рамках учебного курса Яндекс.Практикум.

На этом сервисе пользователи могут публиковать рецепты, подписываться на публикации других пользователей, добавлять понравившиеся рецепты в список «Избранное», а перед походом в магазин скачивать сводный список продуктов, необходимых для приготовления одного или нескольких выбранных блюд.

Запуск проекта в Docker

  1. Подготовить удаленный сервер выполнив следующие команды:
sudo apt update
sudo apt upgrade -y
sudo apt install python3-pip python3-venv git -y
sudo systemctl stop nginx

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
docker version
docker compose version

pip install gunicorn
sudo apt install nginx -y
sudo ufw allow 'Nginx Full'
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status
sudo systemctl start nginx
sudo systemctl stop nginx

sudo docker image prune -a
  1. Клонировать репозиторий и перейти в него в командной строке:
git clone https://github.com/KVGribko/foodgram-project-react.git

cd foodgram-project-react
  1. Скопировать на сервер файлы docker-compose.yml, nginx.conf
scp infra/docker-compose.yml infra/nginx.conf username@host:/home/username
  1. Выполнить команду:
sudo docker compose up -d --build
  1. Выполнить миграции:
sudo docker compose exec backend python manage.py migrate
  1. Собрать статику:
sudo docker compose exec backend python manage.py collectstatic --no-input
  1. Создать суперпользователя:
docker compose exec backend python manage.py createsuperuser