{"id":18944499,"url":"https://github.com/null93/vhost","last_synced_at":"2025-09-05T10:34:01.292Z","repository":{"id":213757672,"uuid":"511775497","full_name":"null93/vhost","owner":"null93","description":"NGINX config structure for provisioning virtual hosts with a CLI tool","archived":false,"fork":false,"pushed_at":"2025-05-28T13:51:46.000Z","size":3609,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-28T14:41:11.519Z","etag":null,"topics":["cli","nginx","virtual-host"],"latest_commit_sha":null,"homepage":"","language":"Go","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/null93.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-07-08T05:38:25.000Z","updated_at":"2025-05-28T13:51:45.000Z","dependencies_parsed_at":"2023-12-22T21:34:38.785Z","dependency_job_id":"f98ad19d-d983-4f52-85db-527a065a16a9","html_url":"https://github.com/null93/vhost","commit_stats":null,"previous_names":["null93/nginx-vhost","null93/vhost"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/null93/vhost","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/null93%2Fvhost","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/null93%2Fvhost/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/null93%2Fvhost/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/null93%2Fvhost/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/null93","download_url":"https://codeload.github.com/null93/vhost/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/null93%2Fvhost/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273746775,"owners_count":25160646,"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","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cli","nginx","virtual-host"],"created_at":"2024-11-08T12:47:08.240Z","updated_at":"2025-09-05T10:33:56.226Z","avatar_url":"https://github.com/null93.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NGINX — vhost\n\n\u003e NGINX config structure for provisioning virtual hosts with a CLI tool\n\n## About\n\nThis is a proposal for a new NGINX config structure that allows for provisioning virtual hosts with a CLI tool.\nPlease keep in mind that this is a proof of concept and the actual config files in the example nginx config directory are not complete.\nIt is the minimum viable product to demonstrate the CLI tool rather than a complete NGINX config.\n\n![demo-1](assets/demo-1.svg)\n\n## Requirements\n\nAll you need is docker installed with the docker compose plugin.\n\n## Try It Out\n\nOn your host machine, run the following commands:\n\n```\ndocker compose up -d\ndocker compose exec nginx bash\n```\n\nOnce you are inside the docker container, you can create some virtual hosts:\n\n```\nvhost create catch-all default-backend\nvhost enable default-backend\n\nvhost create wordpress my-blog domain_names=wordpress-127-0-0-1.nip.io\nvhost enable my-blog\n\nvhost create magento-2 my-store magento_version=2.4.6.3 domain_names=magento-127-0-0-1.nip.io\nvhost enable my-store\n```\n\nFinally you can reload nginx to apply the changes:\n\n```\nnginx -s reload\n```\n\nThat's it! You can now visit the following URLs:\n\n```\nhttp://localhost\nhttp://wordpress-127-0-0-1.nip.io\nhttp://magento-127-0-0-1.nip.io\n```\n\n## Install\n\n\u003cdetails\u003e\n  \u003csummary\u003eDarwin\u003c/summary\u003e\n\n  ### Intel \u0026 ARM\n  \n  ```shell\n  brew tap null93/tap\n  brew install vhost\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eDebian\u003c/summary\u003e\n\n  ### amd64\n  \n  ```shell\n  curl -sL -o ./vhost_0.0.4_amd64.deb https://github.com/null93/vhost/releases/download/0.0.4/vhost_0.0.4_amd64.deb\n  sudo dpkg -i ./vhost_0.0.4_amd64.deb\n  rm ./vhost_0.0.4_amd64.deb\n  ```\n\n  ### arm64\n\n  ```shell\n  curl -sL -o ./vhost_0.0.4_arm64.deb https://github.com/null93/vhost/releases/download/0.0.4/vhost_0.0.4_arm64.deb\n  sudo dpkg -i ./vhost_0.0.4_arm64.deb\n  rm ./vhost_0.0.4_arm64.deb\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eRed Hat\u003c/summary\u003e\n  \n  ### aarch64\n\n  ```shell\n  rpm -i https://github.com/null93/vhost/releases/download/0.0.4/vhost-0.0.4-1.aarch64.rpm\n  ```\n\n  ### x86_64\n\n  ```shell\n  rpm -i https://github.com/null93/vhost/releases/download/0.0.4/vhost-0.0.4-1.x86_64.rpm\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eAlpine\u003c/summary\u003e\n  \n  ### aarch64\n\n  ```shell\n  curl -sL -o ./vhost_0.0.4_aarch64.apk https://github.com/null93/vhost/releases/download/0.0.4/vhost_0.0.4_aarch64.apk\n  apk add --allow-untrusted ./vhost_0.0.4_aarch64.apk\n  rm ./vhost_0.0.4_aarch64.apk\n  ```\n\n  ### x86_64\n\n  ```shell\n  curl -sL -o ./vhost_0.0.4_x86_64.apk https://github.com/null93/vhost/releases/download/0.0.4/vhost_0.0.4_x86_64.apk\n  apk add --allow-untrusted ./vhost_0.0.4_x86_64.apk\n  rm ./vhost_0.0.4_x86_64.apk\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eArch\u003c/summary\u003e\n  \n  ### aarch64\n\n  ```shell\n  curl -sL -o ./vhost-0.0.4-1-aarch64.pkg.tar.zst https://github.com/null93/vhost/releases/download/0.0.4/vhost-0.0.4-1-aarch64.pkg.tar.zst\n  sudo pacman -U ./vhost-0.0.4-1-aarch64.pkg.tar.zst\n  rm ./vhost-0.0.4-1-aarch64.pkg.tar.zst\n  ```\n\n  ### x86_64\n\n  ```shell\n  curl -sL -o ./vhost-0.0.4-1-x86_64.pkg.tar.zst https://github.com/null93/vhost/releases/download/0.0.4/vhost-0.0.4-1-x86_64.pkg.tar.zst\n  sudo pacman -U ./vhost-0.0.4-1-x86_64.pkg.tar.zst\n  rm ./vhost-0.0.4-1-x86_64.pkg.tar.zst\n  ```\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnull93%2Fvhost","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnull93%2Fvhost","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnull93%2Fvhost/lists"}