0.0
No release in over 3 years
Dual-server Hyraft framework with hexagonal architecture, supporting Puma, Thin, Falcon, and Iodine.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 5.26
~> 13.3

Runtime

~> 3.2
 Project Readme

Hyraft Server

Gem Version Downloads License Ruby Version Tests

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 falcon

Development

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.