{"id":13567083,"url":"https://github.com/polart/vagrant-registry","last_synced_at":"2025-04-04T01:31:04.874Z","repository":{"id":38004261,"uuid":"229147078","full_name":"polart/vagrant-registry","owner":"polart","description":"Private self-hosted alternative to Vagrant Cloud","archived":false,"fork":false,"pushed_at":"2023-01-05T16:27:40.000Z","size":3926,"stargazers_count":13,"open_issues_count":26,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-04T21:37:21.209Z","etag":null,"topics":["django","react","vagrant","vagrant-cloud"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/polart.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-19T22:13:46.000Z","updated_at":"2024-01-17T22:13:16.000Z","dependencies_parsed_at":"2023-02-04T07:16:39.990Z","dependency_job_id":null,"html_url":"https://github.com/polart/vagrant-registry","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/polart%2Fvagrant-registry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polart%2Fvagrant-registry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polart%2Fvagrant-registry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polart%2Fvagrant-registry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/polart","download_url":"https://codeload.github.com/polart/vagrant-registry/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247107816,"owners_count":20884793,"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":["django","react","vagrant","vagrant-cloud"],"created_at":"2024-08-01T13:02:23.249Z","updated_at":"2025-04-04T01:31:01.865Z","avatar_url":"https://github.com/polart.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Vagrant Registry\n\nVagrant Registry is a private self-hosted alternative to [Vagrant Cloud](https://app.vagrantup.com/).\n\nFeatures:\n- user management\n- private/public boxes\n- upload/download boxes via web app\n- boxes are stored on a local drive\n\n![My Boxes](./docs/images/my_boxes.png \"My Boxes\")\n\n![Box Details](./docs/images/box_details.png \"Box Details\")\n\n![Box Versions](./docs/images/box_versions.png  \"Box Versions\")\n\n## Usage\n### Public boxes\n\nTo use public boxes from Vagrant Registry specify box name and URL, for example\n```\n$ vagrant init polart/jessie64 http://localhost:3000/polart/jessie64\n$ vagrant up\n```\n\n### Private boxes\n\nLog in into Vagrant Registry using [Vagrant Registry plugin](https://github.com/polart/vagrant-registry-plugin)\n```\n$ vagrant registry login http://localhost:3000\n```\n\nInit and launch a box\n```\n$ vagrant init polart/jessie64 http://localhost:3000/polart/jessie64\n$ vagrant up\n```\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"img/vr.gif?raw=true\"/\u003e\u003c/p\u003e\n\n## Production deploy\n\nVagrant Registry is distributed as a single docker file and available \non Docker registry [polart/vagrant-registry](https://hub.docker.com/r/polart/vagrant-registry)\n\nGenerate a secret key \n```\n$ export SECRET_KEY=$(LC_ALL=C tr -dc 'A-Za-z0-9!#$%\u0026' \u003c/dev/urandom | head -c 50 ; echo)\n```\n\nCreate directories for logs and boxes files\n```\n$ mkdir -p \\\n    /var/vr/logs/nginx \\\n    /var/vr/logs/supervisord \\\n    /var/vr/logs/gunicorn \\\n    /var/vr/logs/django \\\n    /var/vr/protected_media\n```\n\nCreate superuser\n```\n$ docker exec -it vagrant-registry python3 /code/api/manage.py createsuperuser\n```\n\nStart Vagrant Registry\n```\n$ docker run \\\n    --rm -d\\\n    -e SECRET_KEY \\\n    -v /var/vr/logs/:/logs/ \\\n    -v /var/vr/protected_media/:/code/api/protected_media/ \\\n    -v vr-db:/var/lib/postgresql \\\n    -p 8080:80 \\\n    --name vagrant-registry \\\n    polart/vagrant-registry:0.1.2\n```\n\nMake sure to run Vagrant Registry behind [reverse proxy](https://en.wikipedia.org/wiki/Reverse_proxy)\n\n## Development\n\nVagrant Registry is written with Python/Django and ReactJS.\n\nMake sure you have installed Docker and Docker Compose.\n\nApply DB migrations\n```\n$ make migrate\n```\n\nCreate superuser\n```\n$ make create_superuser\n```\n\nInstall Yarn packages\n```\n$ make install_client\n```\n\nStart React app and Django server\n```\n$ make start\n```\n\nOpen \n- http://localhost:3000 - web app\n- http://localhost:3000/admin/ - Django admin\n- http://localhost:3000/api/docs/ - API docs\n\nRun tests\n```\n$ make test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpolart%2Fvagrant-registry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpolart%2Fvagrant-registry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpolart%2Fvagrant-registry/lists"}