«Фудграм» — сайт, на котором пользователи могут публиковать рецепты, добавлять чужие рецепты в избранное и подписываться на публикации других авторов. Пользователям сайта также доступен сервис «Список покупок». Он позволяет создавать список продуктов, которые нужно купить для приготовления выбранных блюд.
-
Разворачиваем с использованием образов в DockerHUB
Cоздаём папку проекта
foodgram
и переходим в нее:mkdir foodgram && cd foodgram
В папку проекта копируем (или создаём) файлы
docker-compose.production.yml
nginx.conf
из папкиinfra
. Также необходим файл.env
(пример ниже). Запускаем проект командой:sudo docker compose -f docker-compose.production.yml up
Будут загружены последние образы, созданы и запущены контейнеры, созданы необходимые тома и сеть.
-
Разворачиваем используя Github
Клонируем себе репозиторий и переходим в него:
git clone git@github.com:4its/foodgram-project-react.git
Выполняем запуск:
sudo docker compose -f docker-compose.yml up
Статика frontend'а собирается автоматически, после чего контейнер будет остановлен.
Необходимо выполнить следующие команды:sudo docker compose -f [имя-файла-docker-compose.yml] exec backend python manage.py migrate sudo docker compose -f [имя-файла-docker-compose.yml] exec backend python manage.py collectstatic sudo docker compose -f [имя-файла-docker-compose.yml] exec backend cp -r /app/collected_static/. /backend_static/static/
Также можно(рекомендуется) единоразово выполнить импорт базовых данных:
sudo docker compose -f [имя-файла-docker-compose.yml] exec backend python manage.py import_tags sudo docker compose -f [имя-файла-docker-compose.yml] exec backend python manage.py import_ingredients
Пример файла .env c переменными окружения, необходимыми для запуска
DEBUG=True
SECRET_KEY=CHANGE_IT_BEFORE_USE_IN_PRODUCTION
ALLOWED_HOSTS=localhost,127.0.0.1,YOUR.DOMAIN,
LANGUAGE_CODE=ru-RU
TIME_ZONE=Europe/Moscow
# Database settings block
USE_SQLITE= True/False(whatever else you want to)
POSTGRES_DB= NAME OF YOUR DB
POSTGRES_DB_HOST= NAME OF YOUR DB HOST (ex. 127.0.0.1 or db)
POSTGRES_DB_PORT= PORT TO ACCESS DB
POSTGRES_PASSWORD= YOUR DB PASSWORD
POSTGRES_USER= YOUR DB USER
После запуска проекта, можно ознакопиться с endpoint'ами прокта и их возможностями.
Документация будет доступна по адресу: имя_сервера/api/docs/
Пример: https://foodgram.egiazaryan.ru/api/docs/ (кликабельно, можно ознакомиться)