Skip to content

Foodgram - это книга рецептов, здесь вы можете обмениваться кулинарными изысками, выбирать понравившиеся и сохранять их. Foodgram поможет составить вам список покупок для любого блюда.

Notifications You must be signed in to change notification settings

afivan20/foodgram-project-react

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

example workflow

Документация к проекту Foodgram(v1):

Описание

Foodgram - это книга рецептов, здесь вы можете обмениваться кулинарными изысками, выбирать понравившиеся и сохранять их. Foodgram поможет составить вам список покупок для любого блюда.
http://django-foodgram.ru

Технологии

React - Фронтенд.
Django REST Framework - API для бекенда.
PostgreSQL - База данных.
Nginx - Web-Server
docker Всё упаковано в 4 разных контейнера.

Документация со всеми эндпоинтами доступна здесь - http://django-foodgram.ru/api/docs/redoc.html
Инфраструктура описана в docker-compose /infra/docker-compose.yml

Как запустить проект на удаленном сервере:

Подготовить сервер

sudo apt update && sudo apt upgrade -y && sudo apt install curl -y
  • Установим докер
sudo curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh get-docker.sh && sudo rm get-docker.sh
  • Установить docker-compose
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

Apply executable permissions to the binary:

sudo chmod +x /usr/local/bin/docker-compose

Настройка инфраструктуры

  • Перенести файлы docker-compose.yaml и default.conf на удаленный сервер.
  • Прописать секреты:
для удаленного сервера:
HOST
USER
SSH_PASSWORD
для базы данных:
DB_ENGINE
DB_NAME
POSTGRES_USER
POSTGRES_PASSWORD
DB_HOST
DB_PORT
для логина в DockerHub:
DOCKER_USERNAME
DOCKER_PASSWORD
для почтового сервера
EMAIL_SMTP
EMAIL
EMAIL_PASSWORD
  • Поднять контейнеры:
sudo docker-compose up -d
  • Выполнить миграции на удаленном сервере:
sudo docker-compose exec backend python manage.py makemigrations; sudo docker-compose exec backend python manage.py migrate
  • Подключить статику:
docker-compose exec backend python manage.py collectstatic --no-input
  • Наполнить базу данных ингредиентами:
docker-compose exec backend python manage.py importcsv

Получить SSL сертификат

для получения серфтифика воспользоваться certbot от Let’s Encrypt и прописать полученнный сертификат в default.conf

Дополнительные команды:

  • Создать Супер Пользовтеля:
docker-compose exec backend python manage.py createsuperuser
  • Посмотреть структуру проекта на сервере:
sudo docker-compose run backend bash
  • Удалить запущенные контейнеры:
docker-compose down -v
  • Остановить все запущенные контейнеры:
sudo docker stop $(sudo docker ps -a -q)
  • Удалить все неиспользуемые контейнеры и образы:
docker system prune -a
  • Скачать образы с DockerHub:
docker pull afivan20/foodgram_backend:latest
docker pull afivan20/foodgram_frontend:latest

Автор

Иван Афанасьев, python-devloper

About

Foodgram - это книга рецептов, здесь вы можете обмениваться кулинарными изысками, выбирать понравившиеся и сохранять их. Foodgram поможет составить вам список покупок для любого блюда.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published