{"id":19704925,"url":"https://github.com/lmashik/infra_sp2","last_synced_at":"2026-04-13T06:50:44.769Z","repository":{"id":206304155,"uuid":"597836031","full_name":"lmashik/infra_sp2","owner":"lmashik","description":"Тренировочный проект: развертывание проекта по сбору отзывов на художественные произведения в контейнерах","archived":false,"fork":false,"pushed_at":"2023-11-08T21:16:46.000Z","size":37,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-10T12:16:28.208Z","etag":null,"topics":["docker","docker-compose","drf","gunicorn","nginx","postgresql","python37"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lmashik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-02-05T19:25:35.000Z","updated_at":"2023-11-08T21:17:02.000Z","dependencies_parsed_at":"2023-11-08T23:29:05.133Z","dependency_job_id":"fc787f73-dd00-4e09-9349-8ac00580af4d","html_url":"https://github.com/lmashik/infra_sp2","commit_stats":null,"previous_names":["lmashik/infra_sp2"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lmashik%2Finfra_sp2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lmashik%2Finfra_sp2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lmashik%2Finfra_sp2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lmashik%2Finfra_sp2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lmashik","download_url":"https://codeload.github.com/lmashik/infra_sp2/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241020261,"owners_count":19895404,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","drf","gunicorn","nginx","postgresql","python37"],"created_at":"2024-11-11T21:25:17.620Z","updated_at":"2026-04-13T06:50:39.745Z","avatar_url":"https://github.com/lmashik.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Проект infra_sp2\n\n## Описание\nПроект infra_sp2 позволяет развернуть проект YaMDb на ВМ с помощью трех \nконтейнеров: web, db, nginx.\n\nПроект YaMDb собирает отзывы (Review) пользователей на произведения \n(Title).\nПроизведения делятся на категории. Список категорий (Category) может \nбыть расширен.\nСами произведения в YaMDb не хранятся, здесь нельзя посмотреть фильм \nили послушать музыку.\n\n## Используемые технологии\n\n - Python 3.7\n - Django Rest Framework 3.12.4 (библиотека для преобразования Django-приложения в REST API)\n - Postman (графическая программа для тестирования API)\n - PostgreSQL (система управления базами данных)\n - Docker (программная платформа контейнеризации)\n - Docker Compose (средство для определения и запуска приложений Docker с несколькими контейнерами)\n - Nginx (веб-сервер для статики)\n - Gunicorn (веб WSGI-сервер)\n\n## Установка\n\n1. Клонируем репозиторий и перейти в директорию infra в командной строке\n```bash\ngit clone https://github.com/lmashik/infra_sp2.git\n```\n\n```bash\ncd infra_sp2/infra\n```\n\n2. Создаем файл .env для переменных виртуального окружения и заходим в него\n```bash\nnano .env\n```\n\n3. Заполняем файл значениями переменных из файла .env.example\n```\nDB_ENGINE=django.db.backends.postgresql\nDB_NAME=postgres\nPOSTGRES_USER=\u003cusername\u003e\nPOSTGRES_PASSWORD=\u003cpassword\u003e\nDB_HOST=db\nDB_PORT=5432\nSECRET_KEY=\u003csecret_key\u003e\n```\n\n4. Создаем образ и контейнеры, запускаем контейнеры в фоновом режиме\n```bash\nsudo docker-compose up -d\n```\n\n5. Выполняем миграции внутри контейнера web\n```bash\nsudo docker-compose exec web python manage.py migrate\n```\n\n6. Открываем проект по адресу http://localhost/api/v1  \nили его административную часть по адресу http://localhost/admin/\n\nПри необходимости наполняем базу резервными данными\n7. Узнаем id контейнера (web), в который нужно скопировать дамп\n```bash\nsudo docker ps\n```\n\n8. Копируем дамп в контейнер web\n```bash\nsudo docker cp fixtures.json \u003cCONTAINER_ID\u003e:app/\n```\n\n9. Заливаем данные в базу\n```bash\nsudo docker-compose exec web python manage.py loaddata fixtures.json\n```\n\n10. Удаляем дамп из контейнера\n```bash\nsudo docker-compose exec web rm ./fixtures.json\n```\n\n\n## Авторы проекта\nАвтор infra_sp2: Мария Лапикова (Михайлова)  \nАвторы YaMDb: Шовтюк Елена, Лапикова (Михайлова) Мария, Пиголкин Андрей\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flmashik%2Finfra_sp2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flmashik%2Finfra_sp2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flmashik%2Finfra_sp2/lists"}