-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
38 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,33 +12,33 @@ | |
- скачивать список ингредиентов, добавленных в корзину рецептов. | ||
|
||
### Технологии | ||
Frontend: React | ||
Backand: Django REST API | ||
- Frontend: React | ||
- Backand: Django REST API | ||
|
||
### Как запустить проект: | ||
|
||
Клонировать репозиторий и перейти в него в командной строке: | ||
|
||
``` | ||
```bash | ||
git clone [email protected]:sergey-xx/foodgram-project-react.git | ||
``` | ||
|
||
### Локальный запуск проекта: | ||
- установить Docker, | ||
- в корневой папке проекта выполнить: | ||
``` | ||
```bash | ||
docker compose up | ||
``` | ||
Выполнить в консоли команду: | ||
``` | ||
```bash | ||
docker container exec foodgram-project-react-backend-1 python manage.py migrate | ||
``` | ||
Для создания суперпользователя выполнить команду: | ||
``` | ||
```bash | ||
docker container exec -it foodgram-project-react-backend-1 python manage.py createsuperuser --username admin --email [email protected] | ||
``` | ||
Для импорта базы ингредиентов выполнить команду: | ||
``` | ||
```bash | ||
docker container exec foodgram-project-react-backend-1 python manage.py import | ||
``` | ||
|
||
|
@@ -48,27 +48,27 @@ docker container exec foodgram-project-react-backend-1 python manage.py import | |
- API: http://localhost:8021/api/ | ||
|
||
### Отдельный запуск Backend: | ||
- Cоздать и активировать виртуальное окружение: | ||
- В папке /backend создать и активировать виртуальное окружение: | ||
|
||
``` | ||
```bash | ||
python3 -m venv env | ||
``` | ||
|
||
``` | ||
```bash | ||
source env/bin/activate | ||
``` | ||
|
||
- Установить зависимости из файла requirements.txt: | ||
|
||
``` | ||
```bash | ||
python3 -m pip install --upgrade pip | ||
``` | ||
|
||
``` | ||
```bash | ||
pip install -r requirements.txt | ||
``` | ||
- Закомментировать postgres DB в settyngs.py, добавить дефолтную SQLite: | ||
``` | ||
```python | ||
'default': { | ||
'ENGINE': 'django.db.backends.sqlite3', | ||
'NAME': BASE_DIR / 'db.sqlite3', | ||
|
@@ -77,21 +77,22 @@ pip install -r requirements.txt | |
``` | ||
- Выполнить миграции: | ||
|
||
``` | ||
```bash | ||
python3 manage.py migrate | ||
``` | ||
- Запуск сервера: | ||
|
||
``` | ||
```bash | ||
python3 manage.py runserver | ||
``` | ||
### Frontend и документация | ||
- Находясь в директории infra, выполнить команду: | ||
|
||
``` | ||
```bash | ||
docker compose up | ||
``` | ||
После запуска контейнера nginx Фронт будет доступен по адресу: http://localhost | ||
|
||
Документацию на API можно будет увидеть по адресу: http://localhost/api/docs/redoc.html | ||
|
||
### Для запуска на сервере : | ||
|
@@ -101,9 +102,28 @@ docker compose up | |
- Создать файл .env (см. образец env.example) | ||
- загрузить в ту же папку docker-compose.production.yml | ||
- выполнить | ||
``` | ||
```bash | ||
sudo docker compose -f docker-compose.production.yml up -d | ||
``` | ||
Настройка внешнего Nginx для этого проекта: | ||
|
||
```bash | ||
sudo nano /etc/nginx/sites-enabled/default | ||
``` | ||
|
||
``` | ||
server { | ||
server_name 111.111.111.111; # IP-адрес вашего сервера | ||
listen 80; | ||
location / { | ||
proxy_set_header Host $http_host; | ||
proxy_set_header X-Real-IP $remote_addr; | ||
proxy_set_header X-Forwarded-Proto $scheme; | ||
proxy_pass http://localhost:8031; | ||
} | ||
} | ||
``` | ||
|
||
## Проект при деплое на Git/master пушится в Docker-контейнеры и разворачивается на VPS. | ||
### В состав проекта входят 4 контейнера: | ||
|
@@ -123,6 +143,6 @@ sudo docker compose -f docker-compose.production.yml up -d | |
- TELEGRAM_TO (ID пользователя Телеграм) | ||
|
||
## Данные о деплое проекта: | ||
- repo_owner: sergey-xx | ||
- github_username: sergey-xx | ||
- fodmram_domain: https://tastygram.ddns.net | ||
- dockerhub_username: sergeyxx |