Сайт для публицации пользователями рецептов. Пользователи могут создавать рецепты блюд, подписываться на обновления других пользователей, добавлять блюда в избранное и список покупок. Список покупок состоит из ингредиентов и их количества, которые нужны для приготовления блюд. Его можно скачать с сайта в формате .txt.
🔹 Python
🔹 Django
🔹 Django REST Framework
🔹 React JS
🔹 PostgreSQL
🔹 Docker
Docker: https://www.docker.com/get-started
Docker-compose: https://docs.docker.com/compose/install/
- Склонировать репозиторий через консоль:
git clone https://github.com/Amaterasq/foodgram-project-react.git
- Выполнить вход на удаленный сервер:
ssh <username>@<IP-сервера>
- Обновите менеджер пакетов, установите docker и docker-compose на сервер:
sudo apt-get update
sudo apt install docker.io
sudo apt-get install docker-compose
- Скопируйте необходимые для запуска файлы на сервер (В дополнительном окне shell)
scp -r <путь_до_infra_на_устройстве>/ <username>@<host>:/home/<username>/infra
scp -r <путь_до_frontend_на_устройстве>/ <username>@<host>:/home/<username>/frontend
scp -r <путь_до_docs_на_устройстве>/ <username>@<host>:/home/<username>/docs
(проверить и добавить)
- Cоздайте .env файл: На сервере создайте файл и заполните переменные окружения:
touch .env
nano .env
SECRET_KEY=<SECRET_KEY>
DEBUG=<True/False>
DB_ENGINE=django.db.backends.postgresql
DB_NAME=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
DB_HOST=db
DB_PORT=5432
- Добавьте Secrets: Добавьте в Secrets GitHub переменные окружения для работы workflow:
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) >
- Запуск проекта и миграций на удаленном сервере
sudo docker-compose up -d --build
sudo docker-compose exec backend python manage.py makemigrations
sudo docker-compose exec backend python manage.py migrate
sudo docker-compose exec backend python manage.py collectstatic --noinput
sudo docker-compose exec backend python manage.py db_fill_ingredient
sudo docker-compose exec backend python manage.py createsuperuser
http://<публичный IP-сервера или localhost>/api/docs/redoc.html