{"id":20589605,"url":"https://github.com/nankuf/ansible_vagrant","last_synced_at":"2026-04-17T23:02:37.649Z","repository":{"id":127738692,"uuid":"536877177","full_name":"NankuF/ansible_vagrant","owner":"NankuF","description":"Развертывание нескольких контейнеров на виртуальных машинах.","archived":false,"fork":false,"pushed_at":"2022-09-15T05:34:06.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-16T23:43:03.455Z","etag":null,"topics":["ansible","vagrant"],"latest_commit_sha":null,"homepage":"","language":null,"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/NankuF.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-15T05:28:50.000Z","updated_at":"2022-09-15T06:50:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"5bbb7f37-9653-4136-99d1-a058f815b6a8","html_url":"https://github.com/NankuF/ansible_vagrant","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NankuF%2Fansible_vagrant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NankuF%2Fansible_vagrant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NankuF%2Fansible_vagrant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NankuF%2Fansible_vagrant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NankuF","download_url":"https://codeload.github.com/NankuF/ansible_vagrant/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242218141,"owners_count":20091347,"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":["ansible","vagrant"],"created_at":"2024-11-16T07:30:00.968Z","updated_at":"2025-12-06T23:02:07.653Z","avatar_url":"https://github.com/NankuF.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Учим vagrant и ansible\nРазвертывает несколько виртуальных машин, и на одной из них поднимает контейнеры.\u003cbr\u003e\n### Результат:\n1. Запущены три виртуальных машины\n2. Софт на данных машинах обновлен\n3. Запущены приложения в докер-контейнерах на хосте `social_bots`\n\n### Порядок установки\n1. Скачать проект\n2. Создать виртуальное окружение\n```commandline\npython -m venv venv \u0026\u0026 . ./venv/bin/activate\n```\n3. Установить зависимости \n```commandline\npip install -r requirements.txt\n```\n\n### Установка и запуск виртуальных машин (VM) на хосте\n1. Установить vagrant\n```commandline\nsudo apt update \u0026\u0026 sudo apt install vagrant \u0026\u0026 vagrant --version\n```\n\n2. Скачать образ VM (из-за санкций приходится скачивать на хост)\n```commandline\nwget -O \"box/ubuntu-jammy64\" https://app.vagrantup.com/ubuntu/boxes/jammy64/versions/20220910.0.0/providers/virtualbox.box\n```\n\n3. Добавить образ `ubuntu-jammy64` в vagrant\n```commandline\nvagrant box add box/ubuntu-jammy64 --name ubuntu-jammy64\n```\n\n4. Создать `Vagrantfile`, если его нет в директории `playbooks`\n```commandline\nvagrant init ubuntu-jammy64\n```\n\n5. Поднимаем VM, указанные в `Vagrantfile`\n```commandline\nvagrant up\n```\n\n6. Проверить статус поднятых VM\n```commandline\nvagrant status\n```\n\n7. Проверить ssh-config и доступ по ssh (выход из VM - `exit`)\n```commandline\nvagrant ssh-config \u0026\u0026 vagrant ssh vagrant1\n```\n\n### Ansible\n1. Установить ansible\n```commandline\npip install ansible\n```\n2. Создать файл `host.ini` (данные взять из `vagrant ssh-config`)\n```ini\nsocial_bots ansible_ssh_host=127.0.0.1 ansible_ssh_port=2222\nrdb ansible_ssh_host=127.0.0.1 ansible_ssh_port=2200\nvagrant1 ansible_ssh_host=127.0.0.1 ansible_ssh_port=2201\n\n[vagrant]\nvagrant1\n\n[bots]\nsocial_bots\n\n[db]\nrdb\n\n```\n3. Создать файл ansible.cfg\n```ini\n[defaults]\ninventory = inventory/hosts.ini\nremote_user = vagrant\nprivate_key_file = ~/.vagrant.d/insecure_private_key\nhost_key_checking = False\n```\n4. Проверить доступ через ansible\n```commandline\nansible vagrant1 -m ping \u0026\u0026 ansible rdb -m ping \u0026\u0026 ansible social_bots -m ping \n```\n5. В `playbooks/roles/social_bots/files/env` разместить файлы `tg_secrets.env` и `vk_secrets.env`\n6. Запустить `playbook.yml`\n```commandline\nansible-playbook playbook.yml\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnankuf%2Fansible_vagrant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnankuf%2Fansible_vagrant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnankuf%2Fansible_vagrant/lists"}