Адреса для адресам:
«Продуктовый помощник»: приложение-сайт, на котором пользователи будут публиковать рецепты, добавлять чужие рецепты в избранное и подписываться на публикации других авторов. Сервис «Список покупок» позволит пользователям создавать список продуктов, которые нужно купить для приготовления выбранных блюд, и загружать его в формате PDF.
Установить docker, docker-compose на сервере ВМ Yandex.Cloud:
ssh username@ip
sudo apt update && sudo apt upgrade -y && sudo apt install curl -y
sudo curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh get-docker.sh && sudo rm get-docker.sh
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
- Перенести файлы docker-compose.yml и default.conf на сервер.
scp docker-compose.yml username@server_ip:/home/<username>/
scp default.conf <username>@<server_ip>:/home/<username>/
- Заполните Secrets Actions по шаблону наполнения env переменных в GitHub Actions
Наименование: Содержание: DB_ENGINE django.db.backends.postgresql # указываем, что работаем с postgresql DB_NAME postgres # имя базы данных POSTGRES_USER postgres # логин для подключения к базе данных POSTGRES_PASSWORD postgres # пароль для подключения к БД (установите свой) DB_HOST db # название сервиса (контейнера) DB_PORT 5432 # порт для подключения к БД HOST 194.212.231.123 # ip сервера USER MrGorkiy # UserName для подключению к серверу SSH_KEY # Приватный ключ доступа для подключению к серверу `cat ~/.ssh/id_rsa` PASSPHRASE # Серкретный ключ\фраза, если ваш ssh-ключ защищён фразой-паролем TELEGRAM_TO # id чата пользователя или чата куда бот будет отправлять результат успешного выполнения TELEGRAM_TOKEN # Токен бота ТГ для отправки уведомления DOCKER_USERNAME # Имя пользователя Docker для публикации образов DOCKER_PASSWORD # Пароль пользоывателя Docker
Скопировать на сервер настройки docker-compose.yml, default.conf из папки infra.
- В папке infra выполнить команду, что бы собрать контейнер:
sudo docker-compose up -d
Для доступа к контейнеру выполните следующие команды:
docker-compose exec backend python manage.py makemigrations
docker-compose exec backend python manage.py migrate --noinput
docker-compose exec backend python manage.py createsuperuser
docker-compose exec backend python manage.py collectstatic --no-input
Дополнительно можно наполнить DB ингредиентами и тэгами:
sudo docker-compose exec backend python manage.py load_tags
sudo docker-compose exec backend python manage.py load_ingrs
- Установить и активировать виртуальное окружение
source /venv/bin/activated
- Установить зависимости из файла requirements.txt
python -m pip install --upgrade pip
pip install -r requirements.txt
- Выполнить миграции:
python manage.py migrate
- В папке с файлом manage.py выполнить команду:
python manage.py runserver
http://127.0.0.1/api/docs/
Автор: MrGorkiy