Infrastructure

This will be a brief overview of what you'll need to host a Workarea app on your own. Workarea is a hefty application which can be complex to run efficiently, so we recommend our Workarea Commerce Cloud hosting for merchants who want to focus on their unique business problems.

Application

Web

Workarea ships with a default Puma configuration out-of-the-box, which is the application server we recommend. Workarea is known to work with Passenger, and will probably work with most any application server that supports Rails.

Sidekiq

Workarea depends on Sidekiq for performing background work, so you'll need to have a Sidekiq daemon running along with the application server. Workarea will automatically configure Sidekiq based on its own configuration.

Databases

MongoDB

Workarea uses on MongoDB, so you'll need a production-grade replica set. Currently, the latest version of Workarea supports MongoDB v4.0.x.

Elasticsearch

Workarea uses Elasticsearch for large portions of functionality. You'll want a production-grade cluster running version v5.6.x.

Redis

Workarea uses Redis for the Sidekiq queue, cache, Rack::Attack, and more. Note that while only one instance of Redis is required, we recommend running two. The first would be for persistent data like the Sidekiq queue or recommendations. The second is for ephemeral data like cache.

Miscellaneous

Assets

Currently, Workarea depends on Amazon's S3 to back its asset storage. You'll need at least one bucket setup to run Workarea. An optional second (called the "integration" bucket in the code) can be configured for integrating with other systems, like flat-file exports, image imports, etc.

Geolocation

Workarea provides a number of geography-based features. For these features to function, you have two options. The first (very slow) way is to configure the Geocoder gem that Workarea uses to look up request location by IP address. The second, preferred way is to integrate an upstream proxy like nginx to lookup geography data based on IP address and add headers, which the Workarea application will read. See the ngx_http_geoip_module for an example.

Compliance

This is just dropping you a note that the Workarea application is written to be compliant with PCI-DSS requirements. Workarea Commerce Cloud hosting provides a complete top-to-bottom certified, tier 1, PCI-DSS environment. This is recommended for all merchants.

Now on GitHub