{"id":18421140,"url":"https://github.com/akarsh/ruby-app-deployment-example-project","last_synced_at":"2026-04-29T17:05:16.887Z","repository":{"id":203980011,"uuid":"710837020","full_name":"akarsh/ruby-app-deployment-example-project","owner":"akarsh","description":"Deployment of a web server ruby app","archived":false,"fork":false,"pushed_at":"2024-06-22T06:42:38.000Z","size":34,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-13T13:38:58.414Z","etag":null,"topics":["macos","rbenv","ruby","server","unit-testing"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/akarsh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-10-27T14:37:55.000Z","updated_at":"2024-06-22T06:42:42.000Z","dependencies_parsed_at":"2023-11-17T04:32:57.516Z","dependency_job_id":"945b0d8b-9907-4204-8b0b-6739139f199f","html_url":"https://github.com/akarsh/ruby-app-deployment-example-project","commit_stats":{"total_commits":11,"total_committers":1,"mean_commits":11.0,"dds":0.0,"last_synced_commit":"6a53a81c178edb408635db20d608062516b7df71"},"previous_names":["akarsh/ruby-app-deployment-example-project"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/akarsh/ruby-app-deployment-example-project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akarsh%2Fruby-app-deployment-example-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akarsh%2Fruby-app-deployment-example-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akarsh%2Fruby-app-deployment-example-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akarsh%2Fruby-app-deployment-example-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/akarsh","download_url":"https://codeload.github.com/akarsh/ruby-app-deployment-example-project/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akarsh%2Fruby-app-deployment-example-project/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32435122,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T13:34:34.882Z","status":"ssl_error","status_checked_at":"2026-04-29T13:34:29.830Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["macos","rbenv","ruby","server","unit-testing"],"created_at":"2024-11-06T04:24:30.313Z","updated_at":"2026-04-29T17:05:16.873Z","avatar_url":"https://github.com/akarsh.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ruby-app-deployment-example-project\n\nThe project `ruby-app-deployment-example-project` contains a web server ruby app written in ruby.\n\n# Table of Contents\n\n- [Installation](#installation)\n- [Environment setup](#environment-setup)\n- [How is the Gemfile in the project created?](#how-is-the-gemfile-in-the-project-created)\n- [Running](#running)\n- [Development](#development)\n- [Testing](#testing)\n- [Docker](#docker)\n- [Helm](#helm)\n- [Kind](#kind)\n- [License](#license)\n- [Authors](#authors)\n- [Credits](#credits)\n\n## Installation\n\nWe assume you are using macOS for developing the projects. Below instructions are designed to work in macOS Sonoma 14.0.\n\n### Environment setup\n\nInstall the ruby version managment tool rbenv execute the below command\n\n```\nbrew install rbenv ruby-build\n```\n\nAdd rbenv to zsh profile file `.zprofile` in your macOS shell path execute the below command\n\n```\neval \"$(rbenv init - zsh)\"\n```\n\nInstall a Ruby version 3.2.2 in rbenv execute the below command\n\n```\nrbenv install 3.2.2\n```\n\nSet the Ruby version for this directory execute the below command\n\n```\nrbenv local 3.2.2\n```\n\nInstall gem bundler execute the below command\n\n```\ngem install bundler\n```\n\nIf there is an update then update the bundler execute the below command\n\n```\ngem update --system 3.4.21\n```\n\n### How is the Gemfile in the project created?\n\nCreate Gemfile using bundle execute the below command\n\n```\nbundle init\n```\n\nIn the created Gemfile I added the following two gems\n\n```\ngem \"ruby-lsp\"\ngem \"rubocop\"\n```\n\nInstall the gems in Gemfile using bundle execute the below command\n\n```\nbundle install\n```\n\n## Running\n\nSet the path in terminal by change the path in terminal to folder `ruby-app`\n\n```\ncd ruby-app\n```\n\nTo run the web server execute the below command\n\n```\nruby http_server.rb\n```\n\nAfter executing the command,\n\n1. Open the URL `http://localhost:80` in browser and you will see message `Well, hello there!`\n2. Open the URL `http://localhost/healthcheck` in browser and you will see message `OK`\n\n## Development\n\nWe use rubocop for linting and formatting ruby files\n\nCheck rubocop offenses in the project execute the below command\n\n```\nrubocop\n```\n\nTo autocorrect fixable rubocop offenses execute the below command\n\n```\nrubocop -A\n```\n\n## Testing\n\nUnit tests are written in http_server_test.rb\n\nTo run unit tests execute the below command\n\n```\nruby http_server_test.rb\n```\n\nExpected test output\n\n```\nLoaded suite http_server_test\nStarted\n..\nFinished in 0.000867 seconds.\n------------------------------------------------------------------------------------------------------\n2 tests, 2 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications\n100% passed\n------------------------------------------------------------------------------------------------------\n2306.81 tests/s, 2306.81 assertions/s\n```\n\n## Docker\n\nBuild the docker container\n\n```\ndocker build -t sakarsh/ruby-app-deployment-example-project .\n```\n\nRun docker container\n\n```\ndocker run -t -d -p 80:80 -i sakarsh/ruby-app-deployment-example-project:latest\n```\n\nBuild and run ruby app with Docker Compose\n\n```\ndocker compose up -d\n```\n\nStop ruby app with Docker Compose\n\n```\ndocker compose down\n```\n\n## Helm\n\nInstall helm chart in minikube\n\n```\nhelm install ruby-chart rubyap/ --values rubyap/values.yaml\n```\n\nDelete helm chart\n\n```\nhelm delete ruby-chart\n```\n\n## Kind\n\nCreate a cluster in kind with `config.yaml` file to access the Nodeport service locally\n\n```\nkind create cluster --config=config.yaml\n```\n\nAccess the page locally on http://localhost/\nand healthcheck on http://localhost/healthcheck\n\n### License\n\n[LICENSE - GNU GENERAL PUBLIC LICENSE Version 3](LICENSE)\n\n## Authors\n\n[akarsh](https://github.com/akarsh)\n\n### Credits\n\nThis project uses Open Source components. You can find the source code of their open source projects along with license information below. We acknowledge and are grateful to these developers for their contributions to open source.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakarsh%2Fruby-app-deployment-example-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakarsh%2Fruby-app-deployment-example-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakarsh%2Fruby-app-deployment-example-project/lists"}