https://github.com/excellent-84/foodgram-project-react
Приложение для обмена рецептами и планирования покупок продуктов. Автоматизированный деплой
https://github.com/excellent-84/foodgram-project-react
django django-rest-framework docker github-actions nginx postgresql python yandex-cloud
Last synced: 2 months ago
JSON representation
Приложение для обмена рецептами и планирования покупок продуктов. Автоматизированный деплой
- Host: GitHub
- URL: https://github.com/excellent-84/foodgram-project-react
- Owner: Excellent-84
- Created: 2023-06-12T10:19:51.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-10-31T20:09:28.000Z (over 1 year ago)
- Last Synced: 2024-10-31T21:19:17.763Z (over 1 year ago)
- Topics: django, django-rest-framework, docker, github-actions, nginx, postgresql, python, yandex-cloud
- Language: JavaScript
- Homepage:
- Size: 4.06 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Дипломный проект Foodgram.
### Описание проекта:
Cервис для публикации рецептов.
Foodgram - это "Продуктовый помощник", онлайн-сервис, где авторизованные пользователи могут публиковать рецепты, подписываться на других пользователей, добавлять понравившиеся рецепты в избранное и скачивать список продуктов для приготовления блюд. Неавторизованным пользователям доступна регистрация, авторизация, просмотр рецептов других пользователей. Это удобный инструмент для обмена рецептами и планирования покупок продуктов.
### Стек технологий:








### Как запустить проект:
##### Клонировать репозиторий:
```
git clone https://github.com/Excellent-84/foodgram-project-react.git
```
##### Настроить Docker:
```
sudo apt update
sudo apt install curl
curl -fSL https://get.docker.com -o get-docker.sh
sudo sh ./get-docker.sh
sudo apt-get install docker-compose-plugin
```
##### Создать файл .env и указать переменные по примеру .env.example:
```
cd foodgram
sudo nano .env
```
##### Установить и запустить Nginx:
```
sudo apt install nginx -y
sudo systemctl start nginx
```
##### Настроить и включить firewall:
```
sudo ufw allow 'Nginx Full'
sudo ufw allow OpenSSH
sudo ufw enable
```
##### Открыть файл Nginx и поменять настройкиб сохранить и закрыть:
```
sudo nano /etc/nginx/sites-enabled/default
```
```
server {
listen 80;
server_name your_domain_name.com;
location / {
proxy_set_header HOST $host;
proxy_pass http://127.0.0.1:8000;
}
}
```
##### Проверить корректность настроек и перезапустить Nginx:
```
sudo nginx -t
sudo systemctl start nginx
```
##### Загрузить образы из DockerHub:
```
sudo docker compose -f docker-compose.production.yml pull
```
##### Остановить и удалить все контейнеры:
```
sudo docker compose -f docker-compose.production.yml down
```
##### Запустить контейнеры из образов в фоновом режиме:
```
sudo docker compose -f docker-compose.production.yml up -d
```
##### Выполнить миграции:
```
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
```
##### Создать суперпользователя (указать логин, e-mail, пароль):
```
sudo docker compose -f docker-compose.production.yml exec backend python manage.py createsuperuser
```
##### Загрузить список ингредиентов в базу данных:
```
sudo docker compose -f docker-compose.production.yml exec backend python manage.py import_data
```
##### Загрузить тестовые данные:
```
sudo docker compose -f docker-compose.production.yml exec backend python manage.py demo_data
```
#### Автор: [Горин Евгений](https://github.com/Excellent-84)