дипломный проект студентки 67 когорты Яндекс.Практикум 2023 г. Карловой Нины.
«Продуктовый помощник» - это приложение, в котором пользователи могут публиковать рецепты кулинарных изделий, подписываться на публикации других авторов и добавлять рецепты в свое избранное. Сервис «Список покупок» позволит пользователю создавать список продуктов, которые нужно купить для приготовления выбранных блюд согласно рецепта/ов.
Установить Docker, Docker Compose (для Windows - актуальный Docker Desktop).
-
Клонировать репозиторий:
git clone https://github.com/Nina2301/foodgram-project-react.git
-
В директории infra создать файл .env и заполнить своими данными по аналогии с example.env:
DB_ENGINE=django.db.backends.postgresql
POSTGRES_USER=django_user
POSTGRES_PASSWORD=mysecretpassword
POSTGRES_DB=django
DB_HOST=db
DB_PORT=5432
ALLOWED_HOSTS=127.0.0.1, localhost, backend
SECRET_KEY='секретный ключ Django'
-
Из папки infra cоздать и запустить контейнеры Docker, последовательно выполнить команды по созданию миграций, сбору статики, созданию суперпользователя:
docker compose up -d --build
docker compose exec backend python manage.py makemigrations
docker compose exec backend python manage.py migrate
docker compose exec backend python manage.py createsuperuser
docker compose exec backend python manage.py collectstatic --noinput
-
Наполнить базу данных содержимым из файла ingredients.json:
docker-compose exec backend python manage.py load_ingredients
После запуска проект будет доступен по адресу: http://127.0.0.1/
Документация будет доступна по адресу: http://127.0.0.1/api/docs/
-
Клонировать репозиторий:
git clone https://github.com/Nina2301/foodgram-project-react.git
-
Установить Docker Compose на сервер:
sudo apt update
sudo apt install curl
curl -fSL https://get.docker.com -o get-docker.sh
sudo sh ./get-docker.sh
sudo apt install docker-compose-plugin
- Скопировать со своего компьютера из папки infra на сервер в директорию infra/ файл docker-compose.production.yml:
scp -i path_to_SSH/SSH_name docker-compose.production.yml \
username@server_ip:/home/username/foodgram/infra/docker-compose.production.yml
(username - имя пользователя на сервере, IP - публичный IP сервера)
- Скопировать со своего компьютера из папки infra на сервер в директорию infra/ файл .env:
scp -i path_to_SSH/SSH_name .env \
username@server_ip:/home/username/foodgram/infra/.env
-
На сервере из папки infra cоздать и запустить контейнеры Docker, последовательно выполнить команды по созданию миграций, сбору статики, созданию суперпользователя:
sudo docker compose -f docker-compose.production.yml up -d
sudo docker compose -f docker-compose.production.yml exec backend python manage.py makemigrations
sudo docker compose -f docker-compose.production.yml exec backend python manage.py migrate
sudo docker compose -f docker-compose.production.yml exec backend python manage.py collectstatic --no-input
sudo docker compose -f docker-compose.production.yml exec backend python manage.py createsuperuser
-
Наполнить базу данных содержимым из файла ingredients.json:
sudo docker compose -f docker-compose.production.yml exec backend python manage.py load_ingredients
На этом всё, продуктовый помощник запущен на вашем удаленном сервере, можно наполнять его рецептами и делиться с друзьями!
Яндекс Практикум
Нина Карлова 67 когорта [email protected]