Cервис для публикаций и обмена рецептами.
Авторизованные пользователи могут подписываться на понравившихся авторов, добавлять рецепты в избранное, в покупки, скачивать список покупок. Неавторизованным пользователям доступна регистрация, авторизация, просмотр рецептов других пользователей.
tests Проверка кода на соответствие PEP8. Push Docker image to Docker Hub Сборка и публикация образа на DockerHub. deploy Автоматический деплой на боевой сервер при пуше в главную ветку. send_massage Отправка уведомления в телеграм-чат.
Склонируйте репозиторий на локальную машину:
git clone git@github.com:pupersa23/foodgram-project-react.git
Прежде, чем приступать к работе, необходимо выполнить вход на свой удаленный сервер:
ssh <USERNAME>@<IP_ADDRESS>
Введите команду:
sudo apt install docker.io
Введите команды:
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
Скопируйте подготовленные файлы infra/docker-compose.yml и infra/nginx.conf из вашего проекта на сервер в home/<ваш_username>/docker-compose.yml и home/<ваш_username>/nginx.conf соответственно. Введите команду из корневой папки проекта:
scp docker-compose.yml <username>@<host>:/home/<username>/docker-compose.yml
scp nginx.conf <username>@<host>:/home/<username>/nginx.conf
Для работы с Workflow добавьте в Secrets GitHub переменные окружения для работы:
DB_ENGINE=django.db.backends.postgresql
DB_NAME=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
DB_HOST=db
DB_PORT=5432
DOCKER_PASSWORD=<пароль DockerHub>
DOCKER_USERNAME=<имя пользователя DockerHub>
USER=<username для подключения к серверу>
HOST=<IP сервера>
PASSPHRASE=<пароль для сервера, если он установлен>
SSH_KEY=<ваш SSH ключ (для получения команда: cat ~/.ssh/id_rsa)>
TELEGRAM_TO=<ID своего телеграм-аккаунта>
TELEGRAM_TOKEN=<токен вашего бота>
Зайдите на боевой сервер и выполните команды:
Создаем и применяем миграции:
sudo docker-compose exec backend python manage.py makemigrations --noinput
sudo docker-compose exec backend python manage.py migrate --noinput
Подгружаем статику:
sudo docker-compose exec backend python manage.py collectstatic --noinput
Заполнить базу данных:
sudo docker-compose exec backend python manage.py load_tags
sudo docker-compose exec backend python manage.py load_ingrs
Создать суперпользователя Django:
sudo docker-compose exec backend python manage.py createsuperuser
Проект будет доступен по вашему IP-адресу.
Рязанов Владимир mail - ryazanov745@gmail.com