Foodgram - сервис для публикации рецептов. Авторизованные пользователи могут подписываться на понравившихся авторов, добавлять рецепты в избранное, в покупки, скачать список покупок. Неавторизованным пользователям доступна регистрация, авторизация, просмотр рецептов других авторов.
git clone https://github.com/Viktrols/foodgram
sudo apt install docker.io
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
scp docker-compose.yml <username>@<host>:/home/<username>/docker-compose.yml
scp nginx.conf <username>@<host>:/home/<username>/nginx.conf
На сервере создайте файл .env (nano .env) и заполните переменные окружения (или создайте этот файл локально и скопируйте файл по аналогии с предыдущим пунктом):
SECRET_KEY=<секретный ключ проекта django>
DB_ENGINE=django.db.backends.postgresql
DB_NAME=<имя базы данных postgres>
DB_USER=<пользователь бд>
DB_PASSWORD=<пароль>
DB_HOST=db
DB_PORT=5432
Создайте на сервере файл pg.env для работы с контейнером postgres и поместите в него значения переменных окружения:
POSTGRES_PASSWORD=<пароль для базы данных> - обязательный параметр
DB_NAME=<название базы данных> - необязательный параметр (по умолчанию будет postgres)
POSTGRES_USER=<имя пользователя> - необязательный параметр (по умолчанию будет postgres)
sudo docker-compose up -d --build
sudo docker-compose exec backend python manage.py collectstatic --noinput
sudo docker-compose exec backend python manage.py migrate --noinput
sudo docker-compose exec backend python manage.py loaddata fixtures/ingredients.json
sudo docker-compose exec backend python manage.py createsuperuser
DOCKER_PASSWORD=<пароль от DockerHub>
DOCKER_USERNAME=<имя пользователя>
USER=<username для подключения к серверу>
HOST=<IP сервера>
PASSPHRASE=<пароль для сервера, если он установлен>
SSH_KEY=<ваш SSH ключ (для получения команда: cat ~/.ssh/id_rsa)>
TG_CHAT_ID=<ID чата, в который придет сообщение>
TELEGRAM_TOKEN=<токен вашего бота>
- Сборка и публикация образа бекенда на DockerHub.
- Автоматический деплой на удаленный сервер.
- Отправка уведомления в телеграм-чат.
Проект временно доступен по адресу http://84.201.163.135
nikita@reviewer.ru
test0101
P.S. Если у вас другая ОС и не все команды из вышеперечисленных работают, вы всегда можете воспользоваться гуглом, вы ж программист! (даже если и начинающий)