Foodgram - Продуктовый помощник. На этом сервисе пользователи смогут публиковать рецепты, подписываться на публикации других пользователей, добавлять понравившиеся рецепты в список «Избранное», а перед походом в магазин скачивать сводный список продуктов, необходимых для приготовления одного или нескольких выбранных блюд.
- Склонируйте репозиторий на локальную машину:
git clone https://github.com/K0ryaga/foodgram-project-react.git
- Перейдите в директорию с проектом:
cd foodgram-project-react
- Создайте и активируйте виртуальное окружение:
python -m venv venv source venv/bin/activate
- Перейдите в директорию
infra
:cd infra
- Запустите
docker-compose.yml
:docker compose up -d
- Выполните следующие команды в контейнере backend:
docker exec -it infra-backend-1 python manage.py migrate docker exec -it infra-backend-1 python manage.py collectstatic docker exec -it infra-backend-1 python manage.py createsuperuser docker exec -it infra-backend-1 python manage.py load_ing
Готово! Проект доступен по адресам: http://127.0.0.1:8000
и http://localhost:8000
.
- Подключитесь к своему серверу:
ssh <server_user>@<server_IP>
- Установите Docker:
sudo apt install docker.io
- Установите 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 sudo chmod +x /usr/local/bin/docker-compose
- Создайте и перейдите в директорию с проектом:
mkdir foodgram && cd foodgram mkdir infra && cd infra touch .env
- Заполните файл
.env
следующей информацией:DB_ENGINE=django.db.backends.postgresql DB_NAME=foodgram POSTGRES_USER=foodgram_user POSTGRES_PASSWORD=foodgram_password DB_HOST=db DB_PORT=5432 SECRET_KEY=<Your_some_long_string> DEBUG=False ALLOWED_HOSTS=<Your_host>
- Скопируйте содержимое директории
infra
с локальной машины на сервер и запуститеdocker-compose.yml
:sudo docker compose up -d
- Узнайте ID или имя backend контейнера:
sudo docker ps
- Выполните следующие команды в контейнере backend:
sudo docker exec -it <backend_container_id> python manage.py migrate sudo docker exec -it <backend_container_id> python manage.py collectstatic sudo docker exec -it <backend_container_id> python manage.py createsuperuser sudo docker exec -it <backend_container_id> python manage.py load_ing
Готово! Проект доступен по вашему домену и IP сервера на порту 8000.
- Python
- Django
- Django REST framework
- Nginx
- Docker
- Postgres
Студент Яндекс.Практикума Антон Стыврин