...
Code Block | ||
---|---|---|
| ||
# install nex_client gem install nex_client # Set authentication export NEX_API_KEY= <your nex! api key> export NEX_ENDPOINT=<URL of your next! application> # Display all available commands nex-cli --help |
2 - Configuration
Create a YAML configuration file based to set the environment variables, eg: application.mno-hub.yml
Warning |
---|
Do not check this file into version control! |
Update the value according to your configuration
Code Block | |||
---|---|---|---|
|
...
| |
########################### # General Configuration |
...
########################### |
...
RAILS_ENV=production |
...
RAILS_MAX_THREADS=25 |
...
RAILS_LOG_TO_STDOUT=true JRUBY_WEB_OPTS=-J-Xms1536m -J-Xmx1536m -J-server |
...
JRUBY_WORKER_OPTS=-J-Xms1024m -J-Xmx1024m -J-server |
...
################################### |
...
# Secrets |
...
################################### |
...
# This key is used to encrypt credentials in database. Use "rake secret" to generate it. |
...
encryption_key=<GENERATE ME> |
...
# Rails secret. Use "rake secret" to generate it. |
...
secret_key_base=<GENERATE ME> |
...
# Rails secret. Use "rake secret" to generate it. |
...
secret_token=<GENERATE ME> |
...
################################### |
...
# Platform components endpoints |
...
################################### |
...
# Url of your Impac installation |
...
IMPAC_ENDPOINT=https://api-impac-yourapp.maestrano.io |
...
# Url of your MnoHub installation |
...
MNOHUB_ENDPOINT=https://api-hub-yourapp.maestrano.io |
...
conf_hub_api_host=api-hub-yourapp.maestrano.io |
...
conf_hub_api_protocol=https |
...
DEV_PLATFORM_ENDPOINT=https://developer.maestrano.io |
...
DEV_PLATFORM_SHARED_SECRET=<Ask Us> |
...
# Connec Configuration Replace with appropriate values |
...
CONNEC_ENDPOINT=https://api-connec-yourapp.maestrano.io |
...
connec_authentication_key= |
...
connec_authentication_secret= |
...
conf_connec_host=api-connec-yourapp.maestrano.io |
...
conf_connec_paths_accounts_summary=/api/reports/:channel/accounts_summary |
...
conf_connec_paths_all_accounts=/api/reports/:org_uid/account_balances |
...
conf_connec_paths_balance_sheet=/api/reports/:channel/balance_sheet |
...
conf_connec_paths_customers_invoices=/api/reports/:channel/customers_invoices |
...
conf_connec_paths_suppliers_invoices=/api/reports/:channel/suppliers_invoices |
...
conf_connec_paths_sync=/v1/:instance_uid/sync |
...
conf_connec_port=443 |
...
conf_connec_protocol=https |
...
conf_connec_upload_company=api-connec-yourapp.maestrano.io/v1/:channel_id/company |
...
conf_connec_upload_items=api-connec-yourapp.maestrano.io/v1/admin/uploads/items |
...
conf_connec_upload_organizations=api-connec-yourapp.maestrano.io/v1/admin/uploads/organizations |
...
conf_connec_upload_people=api-connec-yourapp.maestrano.io/v1/admin/uploads/people |
...
conf_connec_upload_protocol=http |
...
################################### |
...
# Assets Management |
...
################################### |
...
# The AWS credentials to use to manage the 'assets' bucket (used to upload images, js/css files) |
...
aws_s3_access_key_id= |
...
aws_s3_secret_access_key= |
...
conf_carrierwave_asset_host= |
...
conf_carrierwave_private_bucket= |
...
conf_carrierwave_public_bucket= |
...
conf_carrierwave_region= |
...
################################### |
...
# Application Configuration |
...
################################### |
...
# OPTIONAL: if specified then an initial tenant will be created on first deploy |
...
default_tenant_host=frontend.yourapp.maestrano.local |
...
default_tenant_id=ea6009b0-be7b-0132-7f2c-22000a93862b |
...
default_tenant_key=shxms3BMKt1dw2DYz4QCxg |
...
default_tenant_name=Maestrano UAT |
...
default_tenant_scheme=http |
...
# Enable/Disable sidekiq for Maestrano Hub. Should be set to false |
...
conf_background_job_disable_recurring_jobs=false |
...
# Default support email displayed on pages |
...
conf_contact_support= |
...
support@maestrano.com |
...
conf_geocoder_ip_lookup=geoip2 |
...
conf_geocoder_lookup=google |
...
# Used for geolocalisation |
...
conf_google_map_api_key=< |
...
conf_microsoft_partner_id= |
...
# This value is used to generate unique email addresses for application providers |
...
conf_sso_virtual_email_domain=appmail.api-hub.yourapp.maestrano.local |
...
# This service is used to convert monetary values. Put your OpenExchangeRate.org API key |
...
OPENEXCHANGERATES_APP_ID= |
...
<OpenExchangeRate.org API key> |
...
# OPTIONAL: New Relic app name and enablement flag. |
...
newrelic_app_name= |
...
newrelic_license_key= |
...
############################################################################################# |
...
# Applications Hosting |
...
# OPTIONAL: only required if hosted apps are enabled. Please contact us. |
...
############################################################################################# |
...
NEX_API_KEY= |
...
NEX_ENDPOINT= |
...
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. |
...
FORCE_SSL=true |
...
conf_mcluster_apps_domain=apps.yourapp.maestrano.io |
...
conf_mcluster_autostop_disabled=false |
...
conf_mcluster_fallback_region=ap-southeast-1 |
...
conf_mcluster_mnoe_lockdown_region=ap-southeast-1 |
...
############################################################################################# |
...
# Payment Gateways |
...
# OPTIONAL |
...
############################################################################################# |
...
# Braintree credentials. |
...
braintree_merchant_id= |
...
braintree_private_key= |
...
braintree_public_key= |
...
# eWay credentials. |
...
eway_login=87654321 |
...
eway_password=test123 |
...
eway_username= |
...
test@eway.com.au |
3 - Nex!™ - Deploying the app
2.1 - Create the app
Code Block | ||||
---|---|---|---|---|
| ||||
# Create the app, with the correct environment variable
nex-cli apps:create maestrano/web-jruby --env-file <path/to/application.mno-hub> --size 16 --tags "jruby,core,mnohub,production" --desc "MnoHub Production"
# Save the app name to a var to make your life easier
export app=clueless-turkey-1
# Transfer app ownership to your parent organization (e.g. maestrano)
nex-cli apps:transfer $app maestrano
# Link it to the repository
nex-cli apps:scm $app --link github:maestrano/maestrano-hub:1.0.26
# Add the mysql and redis add-ons
nex-cli addons:create mysql $app
nex-cli addons:create redis $app
# Start it
nex-cli apps:up $app
# Check the logs
nex-cli apps:logs $app |
You can now go to the Nex!™ generated URL (e.g. https://clueless-turkey-1.yourapp.maestrano.io/) and check that everything is working properly.
2.2 - Setting up a custom domain
First create a CNAME to your app:
|
# nex-cli certs:create mnoe-demo-uat.maestrano.io $app --cert path-to-the-cert.crt --bundle path-to-the-bundle.crt --privkey .path-to-the-private.key.pem |