http://62.84.114.162/ - Foodgram(Продуктовый помощник)
- Протестировать готовый проект можно по ссылке http://62.84.114.162/admin/
- login: admin
- password: 75523616
Foodgram - сервис для публикации и обмена рецептами блюд и напитков. Для незарегестрированных пользователей доступны просмотр рецептов на главной странице, фильтрация рецептов по тегам и просмотр рецепта на отдельной странице. Авторизованные пользователи могут создавать / редактировать собственные рецепты, добавлять понравившиеся рецепты в список избранного. Также они могут просматривать страницы пользователей и подписываться на понравившихся авторов. Рецепты можно добавить в список покупок и выгрузить список необходимых ингредиентов в pdf формате.
Python 3.7 Django 3.0.5
Проект собран в Docker и содержит четыре образа:
- backend - образ бэка проекта
- frontend - образ фронта проекта
- postgres - образ базы данных PostgreSQL
- nginx - образ web сервера nginx
В целях безопасности некоторые переменные должны быть вынесены в файл окружения .env. Создайте его самостоятельно, а при разворачивании проекта на сервере перенесите их в Github actions secrets. Полный перечень переменных с комментариями:
SECRET_KEY - секретный ключ для конкретной установки Django DB_ENGINE - используемая база данных (по умолчанию django.db.backends.postgresql) DB_HOST - название контейнера базы данных (по умолчанию db) DB_NAME - имя базы данных DB_PORT - порт для подключения к базе данных (по умолчанию 5432) DOCKER_PASSWORD - пароль Docker Hub DOCKER_USERNAME - логин Docker Hub HOST - IP-адрес вашего сервера PASSPHRASE - Если при создании ssh-ключа вы использовали фразу-пароль, то укажите ее POSTGRES_PASSWORD - пароль для подключения к базе данных POSTGRES_USER - логин для подключения к базе данных SSH_KEY - приватный ключ с компьютера, имеющего доступ к боевому серверу USER - имя пользователя для подключения к серверу
Проект разворачивается на сервере с ОС ubuntu 20.04. Не забудьте создать переменные окружения в Github actions secrets.
- Установите 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
-
Скопируйте на сервер файлы Docker-compose.yml и nginx.conf из папки infra-deploy/. Не забудьте указать свой ip в конфиге. Там-же создайте файл зависимостей .env
-
Запуск контейнеров выполняется командой:
sudo docker-compose up
- После запуска контейнеров выполните команды в терминале:
docker-compose exec web python manage.py migrate --noinput
docker-compose exec web python manage.py collectstatic --no-input
- Создать суперпользователя вы можете командой:
docker-compose exec backend python manage.py createsuperuser
(Не забудьте команду "sudo", если проект развернут на сервере)
Сергей