Web server for Hyraft framework
Dual-server web stack implementing hexagonal architecture. Supports simultaneous web and API servers across multiple Ruby backends (Puma, Thin, Falcon, Iodine) for the Hyraft framework.
Installation
Server options:
___________________________________________________
Use Thin server: gem 'thin' # Windows/Linux
Use Puma server: gem 'puma' # Windows/Linux
Use Falcon server: gem 'falcon' # Linux
Use Iodine server: gem 'iodine' # Linux
Usage
Command Variants
_______________________________________________________________________
Alias: (or Shortcut)
hyr s [server-name] Start web server
hyr s [server-name] --api Start API server directly
hyr s-v Show version
hyr s-h Show this help
_______________________________________________________________________
Medium Form:
hyr-serve [server-name] Start web server
hyr-serve [server-name] --api Start API server directly
hyr-serve s-v Show version
hyr-serve s-h Show this help
_______________________________________________________________________
Full Command:
hyraft-server [server-name] [options] Start web server
hyraft-server [server-name] --api [options] Start API server directly
hyraft-server server-version Show version
hyraft-server server-help Show this help
_______________________________________________________________________
Examples:
hyr s thin # Start web server with Thin
hyr s puma # Start web server with Puma
hyr s iodine # Start web server with Iodine
hyr s falcon # Start web server with Falcon
hyr-serve thin # Start web server with Thin
hyraft-server thin # Start web server with Thin
hyraft-server thin --api # Start API server with Thin
hyraft-server puma -p 1091 # Start web server on port 1091
hyraft-server puma --port-api 1092 # Start API server on port 1092
hyraft-server falcon --http2 # Start with HTTP/2 (Falcon)
hyraft-server falcon --http3 # Start with HTTP/3 (Falcon)
_______________________________________________________________________
Usage - Test
Test Environment
Alias: (or Shortcut)
APP_ENV=test hyr s [server-name] Start web server (test)
APP_ENV=test hyr s [server-name] --api Start API server directly (test)
APP_ENV=test hyr s-v Show version (test)
APP_ENV=test hyr s-h Show this help (test)
ex.
APP_ENV=test hyr s thin
APP_ENV=test hyr s puma
APP_ENV=test hyr s iodine
APP_ENV=test hyr s falcon
Usage - Production
Production Environment
Alias: (or Shortcut)
APP_ENV=production hyr s [server-name] Start web server (production)
APP_ENV=production hyr s [server-name] --api Start API server directly (production)
APP_ENV=production hyr s-v Show version (production)
APP_ENV=production hyr s-h Show this help (production)
ex.
APP_ENV=production hyr s thin
APP_ENV=production hyr s puma
APP_ENV=production hyr s iodine
APP_ENV=production hyr s falconDevelopment
After checking out the repo, run bundle install to install dependencies.
Then, run rake test to run the tests.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/demjhonsilver/hyraft-server. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.
License
The gem is available as open source under the terms of the MIT License.
Code of Conduct
Everyone interacting in the Hyraft::Server project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.