Проект YaMDb собирает отзывы пользователей на произведения. Произведения делятся на категории: «Книги», «Фильмы», «Музыка».
python 3.9.6
django 3.0.5
gunicorn 20.1.0
- Проверка кода на соответствие PEP8, запуск тестов проекта.
- Сборка и публикация образа на DockerHub.
- Автоматический деплой на выбранный сервер.
- Отправка ботом уведомления в телеграм-чат.
git clone https://github.com/lindex/yamdb_final.git
Подключаемся на удаленный сервер
ssh <username>@<ip_address>
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
sudo chmod +x /usr/local/bin/docker-compose
Скопируйте подготовленные файлы docker-compose.yaml
и nginx/default.conf
из проекта на сервер в home/<ваш_username>/docker-compose.yaml
и home/<ваш_username>/nginx/default.conf
соответственно.
scp docker-compose.yaml <username>@<host>:/home/<username>/docker-compose.yaml
scp -r nginx/ <username>@<host>:/home/<username>/
Для работы с Workflow добавьте в Secrets GitHub переменные окружения для работы:
SECRET_KEY=<SECRET_KEY>
DEBUG=<True/False>
ALLOWED_HOSTS=<hosts>
DB_ENGINE=django.db.backends.postgresql
DB_NAME=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
DB_HOST=db
DB_PORT=5432
DOCKER_PASSWORD=<pass DockerHub>
DOCKER_USERNAME=<login DockerHub>
USER=<username для подключения к серверу>
HOST=<IP сервера>
PASSPHRASE=<passphrase для сервера, если он установлен>
SSH_KEY=<SSH ключ>
TELEGRAM_TO=<ID своего телеграм-аккаунта. Для инфо @myidbot>
TELEGRAM_TOKEN=<токен бота>
sudo docker-compose exec web python manage.py makemigrations --noinput
sudo docker-compose exec web python manage.py migrate --noinput
sudo docker-compose exec web python manage.py collectstatic --no-input
sudo docker-compose exec web python3 manage.py loaddata fixtures.json
sudo docker-compose exec web python manage.py createsuperuser
студенты курса Python-разработчик в Яндекс.Практикуме