{"id":28047876,"url":"https://github.com/wouterken/itsi","last_synced_at":"2025-05-11T21:06:27.582Z","repository":{"id":289044850,"uuid":"940845121","full_name":"wouterken/itsi","owner":"wouterken","description":"Itsi – the teensy‑weensy Ruby Rack server, static asset server, reverse proxy, API gateway, and fiber scheduler!","archived":false,"fork":false,"pushed_at":"2025-05-11T02:35:10.000Z","size":17325,"stargazers_count":229,"open_issues_count":0,"forks_count":3,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-05-11T03:28:18.222Z","etag":null,"topics":["api","api-gateway","proxy","rack","reverse-proxy","ruby","rust","server","static-site"],"latest_commit_sha":null,"homepage":"https://itsi.fyi","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wouterken.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","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,"zenodo":null}},"created_at":"2025-02-28T22:43:52.000Z","updated_at":"2025-05-09T23:47:19.000Z","dependencies_parsed_at":"2025-05-11T03:24:10.358Z","dependency_job_id":"89307948-804e-4a4d-8fbe-384fe33b5495","html_url":"https://github.com/wouterken/itsi","commit_stats":null,"previous_names":["wouterken/itsi"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wouterken%2Fitsi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wouterken%2Fitsi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wouterken%2Fitsi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wouterken%2Fitsi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wouterken","download_url":"https://codeload.github.com/wouterken/itsi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253514630,"owners_count":21920337,"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":["api","api-gateway","proxy","rack","reverse-proxy","ruby","rust","server","static-site"],"created_at":"2025-05-11T21:06:22.333Z","updated_at":"2025-05-11T21:06:27.569Z","avatar_url":"https://github.com/wouterken.png","language":"Rust","readme":"# Itsi\n\u003cimg src=\"itsi-server-100.png\" alt=\"Itsi Server\" width=\"80px\" style=\"display: block; margin-left: auto; margin-right: auto;\"\u003e\n\n\u003e The Serious Web Server, for Serious People\n\n[![Test](https://github.com/wouterken/itsi/actions/workflows/test.yml/badge.svg)](https://github.com/wouterken/itsi/actions/workflows/test.yml)\n[![Gem Version](https://img.shields.io/gem/v/itsi)](https://rubygems.org/gems/itsi)\n\nItsi is a feature-packed, high performance web and application server, with first-class support for Ruby applications.\nIt's a compliant Rack server. It’s also a well-equipped reverse proxy, API gateway, and static file server, controlled by an intuitive and elegant configuration API and DSL.\n\nItsi is motivated by the belief that:\n\u003e*It should be **easy** to share your application on the internet with confidence, without a need for complex configuration or multiple layers of tools.*\n\nJust your application code and *Itsi* working together, inside a single process, to proudly serve your best work on the world wide web.\n\n## Getting Started\nFor the best introduction to Itsi, you should take a look at the Itsi documentation website.\n\nhttps://itsi.fyi\n\n## No time for that? Here's a crash course:\n\n### 1. Get Ruby\nMake sure you have Ruby installed! If not, look here:\n[https://www.ruby-lang.org/en/documentation/installation/](https://www.ruby-lang.org/en/documentation/installation/)\n\n\n### 2. Itsi\n\n\u003e On Linux?\nYou'll need at least `build-essential` and `libclang-dev` installed to build Itsi on Linux.\n  E.g.\n  ```bash\n  apt-get install build-essential libclang-dev\n  ```\n\nThen, install Itsi using `gem`:\n  ```bash\n  gem install itsi\n  ```\n\n### 3. Run Itsi\nWant to serve a Ruby app? Go to a directory containing a `config.ru` file and run:\n```\nitsi\n```\n\nWant to serve static files? Go to a directory containing static files and run:\n```\nitsi static\n```\n\nWant to run and configure a reverse proxy, API Gateway, static file server, gRPC server, inline endpoints or any combination of these? You'll need to learn a bit more about Itsi's configuration API and DSL.\n\nRun:\n```\nitsi init\n```\nto create a new `Itsi.rb` configuration file and start tweaking.\n\nNeed help with the Itsi CLI?\n```\nitsi --help\n```\nto see some of the essential options.\n\nPrefer learning by doing? Make sure you have [ruby-lsp](https://shopify.github.io/ruby-lsp/) installed, and then let the LSP show\nyou the right set of configuration options available inside `Itsi.rb`, from right inside your editor.\n\nOr just go straight to the comprehensive documentation site to see it all!\n\n\u003e https://itsi.fyi/\n\n\n## Essential Features\n\n\u003e https://itsi.fyi/features\n\n\n## Configuration\n\n\u003e https://itsi.fyi/configuration\n\n## F.A.Qs\n\n\u003e https://itsi.fyi/faqs\n\n### Looking for Itsi Scheduler? Find it here:\n\nDocs:\n\u003e https://itsi.fyi/itsi_scheduler\n\nSource Code:\n\u003e https://github.com/wouterken/itsi/blob/main/gems/scheduler\n\n### For Developers\n* Check out the top-level Rakefile for project wide commands.\n* `rake test` (Run the full Itsi test-suite)\n* `rake compile` (Compile Itsi - Scheduler **and** Server)\n* `rake build` (Build all itsi gems, `itsi`, `itsi-server`, `itsi-scheduler`)\n\nYou can also run gem-specific variants of the above. E.g.\n* `rake server:test` or `rake scheduler:test`\n* `rake server:compile` or `rake scheduler:compile`\n* `rake server:build` or `rake scheduler:build`\n\n\n### Contributing\nDeveloper Certificate of Origin\n\nBy submitting a pull-request you certify that:\n1. The contribution is your original work or you have the right to submit it;\n2. You have read and understood the [Developer Certificate of Origin](https://developercertificate.org/) and you accept it.\n","funding_links":[],"categories":["Rust"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwouterken%2Fitsi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwouterken%2Fitsi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwouterken%2Fitsi/lists"}