"Foodgram - Продуктовый помощник": сайт, на котором пользователи будут публиковать рецепты, добавлять чужие рецепты в избранное и подписываться на публикации других авторов. Сервис «Список покупок» позволит пользователям создавать список продуктов, которые нужно купить для приготовления выбранных блюд.
Проект доступен по адресу
https://github.com/ozzimyt/foodgram-project-react
Win:
python -m venv venv
. venv/Scripts/activate
Mac/linux:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Win
cd backend/
python manage.py makemigrations
python manage.py migrate
Mac/Linux
cd backend/
python3 manage.py makemigrations
python3 manage.py migrate
Win
python manage.py createsuperuser
Mac/linux
python3 manage.py createsuperuser
Win
python manage.py runserver
Mac/linux
python3 manage.py runserver
В папке infra создайте файл .env и заполните его в соответствии с нижеуказанным:
DB_ENGINE=django.db.backends.postgresql
DB_NAME=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
DB_HOST=db
DB_PORT=5432
SECRET_KEY=your
DEBUG=False # Или True для возможности отображение DEBUG-информации
ALLOWED_HOSTS='*'
DEBUG_SQLITE=True # Или False для выбора PostgreSQL
далее в папке infra выполнить команды:
docker compose up -d --build
После создания и запуска контйнеров зайти в контейнер с бэкэндом и выполнить команды:
docker compose exec backend python manage.py makemigrations
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 json_to_db.py
docker compose exec backend python manage.py createsuperuser
Аутентифицируйтесь на удаленном сервере:
ssh <username>@<hostname>
Обновите пакеты:
sudo apt update
sudo apt upgrade -y
Установите 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
Скопируйте файлы конфигурации:
scp docker-compose.yml <username>@<host>:/home/<username>/docker-compose.yml
scp nginx.conf <username>@<host>:/home/<username>/nginx.conf
Создайте суперпользователя:
sudo docker-compose exec -T backend python manage.py createsuperuser
Для открытия документации локально, запустите сервер и перейдите по ссылке: http://localhost/api/docs/
Для открытия документации на удаленном сервере: REDOC