Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagebash
# 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
languagebash
title

...

application.mno-hub
###########################
# 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
languagebash
titleCreate the App
# 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:

∫ host api-hub.yourapp.io
api-hub.yourapp.io is an alias (CNAMEfor enhanced-tuna-1.app.yourapp.io.


# Create a domain
nex-cli domains:create api-hub.yourapp.io $app
  
# Add the SSL certs

# 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