Welcome to Marionette Software Test Drive Configurator Deployment Instructions!
Marionette in a nutshell:
THE MOST MODERN
AND FUTURE-PROOF
FINTECH LAUNCHPAD SOFTWARE
USED BY STARTUPS
AND ENTERPRISE BUSINESSES
AS THE FOUNDATION OF THEIR
B2B AND B2C FINANCIAL SERVICE PLATFORMS
Who is Marionette Test Drive for and what can you do with it?
Teams who want to test the core functionality of Marionette Software to see if Marionette is the right fit for their vision/team/project.
Teams who want to contribute to the improvements of Marionette Software, earn contributor bounties or earn a commercial license for Marionette Software.
Teams who want to understand what does it actually take to run a cryptocurrency and fiat FinTech service.
Teams who want to build their Proof of Concept and seek public and/or private investment with a go to market ready MVP.
Teams can customize the UI with examples and thorough documentation of API's and Architecture.
- User App Architecture: User App Architecture
- Configurations for User App: Configurations for User App - Test Drive version (GitHub)
- User App Queries, Mutations and Subscriptions: 1.5.3 + User App Queries, Mutations and SubscriptionsTeams can introduce their custom plugins and features. From introducing 3rd party services like custom bots, to integrating local banks, payment gateways, liquidity providers, market makers as well as very custom and unique user facing services.
TuneX LLC Marionette Software Creative Commons CC-BY-NC-ND-4.0 International Public License Agreement: Read here
Software Licensor: TuneX LLC
Licensor Contact Info: admin@tunex.io / humans@marionette.dev
Website: https://marionette.dev/
More information about Public Test Drive on our website: https://marionette.dev/test-drive/
Hope you love Marionette Software as much as we do! & now for the Instructions:
#1 Step: Fork & Star Configurator repo
https://github.com/Marionette-Software/marionette-configurator
This document describes initial deployment process for the Marionette Software.
Marionette Configurator - is a tool set to generate deployment configuration for the Marionette Software.
Actions:
Make changes in main configuration file
global/config.yaml
(yellow block)Render deployment configuration (red block)
Make deployment on the server or locally (green blocks)
Many settings apply to multiple services. Therefore, they can be repeated in many configuration and compose files. So that when changing such settings there is no need to edit a large number of system files, we place specific parameters in a separate configuration file global/config.yaml
. The configurator uses data from this file to fill in variables in template files (see handlebars).
Table of content
1. Prerequisites
Before you start, you have to prepare your hardware and software.
This document describe deployment on Ubuntu Server 23.10. There are no OS dependency due to Docker-based nature of Marionette services. Probably it will work on any Docker friendly infrastructure.
1.1. Hardware
Minimum hardware requirements (physical or virtual server):
CPU: 6
RAM: 10 GB
Disk: 40 GB
Note: Hardware resources must be estimated during technical interview according to Marionette Software settings
Connect to the VM via SSH in terminal or command line prompt, if you need more details on launching it and connecting to remote machine or using Recovery Console please read How to Use SSH to Connect to a Remote Server in Linux or Windows article.
This guide uses Linux terminal.
1.2. Software
Docker Engine 20.10+ (see installation guide)
Docker Compose (see installation guide)
2. Setup "Marionette Configurator"
Obtain copy of a repository https://github.com/Marionette-Software/marionette-configurator. It is good idea to use git clone
(instead download zip) to be able to receive update easily by git pull
.
Note: All shell commands in this section are executed in Marionette Configurator root directory (directory where the project was cloned/downloaded)
2.1. Fetch application dependencies
(cd tool && npm install)
2.2. Check run of the marionette tool:
./m
You should receive:
2.3. Create key-pair for load balancer
mkdir config/secrets
Create couple of RSA keys for using by Marionette project (use the source for information)
openssl genrsa -out config/secrets/key.pem 2048 && openssl rsa -in config/secrets/key.pem -outform PEM -pubout -out config/secrets/public.pem
You may get similar to:
Check generated keys inside current folder:
ls -lah config/secrets/
The result should be 2 generated keys:
2.4. Configure
2.4.1. Local deployment
mkdir config/local-certs
Create couple certificate keys for using by Marionette project (use the source for information)
openssl req -x509 -nodes -new -sha512 -days 365 -newkey rsa:4096 -keyout config/local-certs/cert.key -out config/local-certs/key.pem -subj "/CN=MY-CA"
Check generated keys inside current folder:
ls -lah config/secrets/
The result should be 2 generated keys: cert.key and key.pem
Add to /etc/hosts following line:
127.0.0.1 marionette.localhost
It must be similar to:
2.4.2 Server deployment
To configure software you need to modify global/config.yaml
configuration file.
a. Change base_url to your domain name
b. Change localhost_run to false
c. If you have file storage, sms and email providers you can configure:
Configure storage. See Storage configuration details here
Configure emailing. See Emailing configuration details here.
Configure SMS verification. See SMS verification configuration details here.
2.5. Run render-config to create compose and config files from templates
./m render-config
The result should be like next screen (all templates successfully 'Done'):
2.6. Pull Docker images
Pull Docker image to ensure availability/accessibility
docker-compose pull
In success case You should get (all docker images pull will 'done'):
Note: There are cases of troubleshooting You can mostly get on the reason of not enough user rights for docker images or errors in configuration
To resolve similar troubles You should:
check properly settings in the Marionette configuration file
global/config.yaml
in case of errors in configurationprovide the screen evidence to our technical staff for check your rights on the TuneX Docker images repository in case not enough user rights
Note: Follow the next step only if the current step was successful
2.7. Run all Marionette Stack services
docker-compose up -d
All services will start and you should see all "green" done for each service:
2.8. Check services
docker-compose ps
example screen:
3. Admin Panel
Admin Panel is a web admin panel of Marionette Stack.
Open Admin Panel in browser
Local deployment:
Follow https://marionette.localhost/admin
Server deployment:
Follow https://<domain name>/admin
Use default login: qa@tunex.io, password: changeP@ssword123 to login
N.B. If you make local deployment you can receive following:
Click on “Advanced” then “Proceed to marionette.localhost (unsafe)”
Conclusion
You have finished the initial deployment of the Marionette Stack.
Fork & Star Configurator repo
Start building your Proof of Concept!
You can know more about system configurations and cababilities from these docs:
Extensions: Third party service providers
In this section you have to choose third-party providers, register accounts, create API keys, etc.
1. Storage
Marionette requires a storage to keep KYC documents and logos.
Choose and configure one of:
See Storage configuration details here.
2. SMS verification
Marionette provides few integrations with SMS providers to be able to identify your users.
You have to choose and configure one of:
See SMS verification configuration details here.
3. Emailing
Marionette sends emails in a lot of business cases like User Registration, Password Restoration. etc.
To make emailing enabled, you have to choose and configure one of:
See Emailing configuration details here.