• In progress
  • GitHub Deployment Instructions

    Welcome to Marionette Software Test Drive Configurator Deployment Instructions!


    Marionette in a nutshell:

    image-20240501-085700.png

    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?

    1. Teams who want to test the core functionality of Marionette Software to see if Marionette is the right fit for their vision/team/project.

    2. Teams who want to contribute to the improvements of Marionette Software, earn contributor bounties or earn a commercial license for Marionette Software.

    3. Teams who want to understand what does it actually take to run a cryptocurrency and fiat FinTech service.

    4. Teams who want to build their Proof of Concept and seek public and/or private investment with a go to market ready MVP.

    5. Teams can customize the UI with examples and thorough documentation of API's and Architecture.
      - User App Architecture: Architecture - Frontend
      - Configurations for User App: Frontend Configurations - v. Public Test Drive (GitHub)
      - User App Queries, Mutations and Subscriptions: Frontend Queries, Mutations and Subscriptions

    6. Teams 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/

    image-20240501-085728.png

    Hope you love Marionette Software as much as we do! & now for the Instructions:

     

    #1 Step: Fork & Star Configurator repo

    GitHub - Marionette-Software/marionette-configurator: 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:

    1. Make changes in main configuration file global/config.yaml (yellow block)

    2. Render deployment configuration (red block)

    3. 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

    2. Setup "Marionette Configurator"

    Obtain copy of a repository GitHub - Marionette-Software/marionette-configurator: 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)

    You may get similar to:

    Check generated keys inside current folder:

    The result should be 2 generated keys:

    2.4. Configure

    2.4.1. Local deployment

    Create couple certificate keys for using by Marionette project (use the source for information)

    Check generated keys inside current folder:

    The result should be 2 generated keys: cert.key and key.pem

    Add to /etc/hosts following line:

    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

    The result should be like next screen (all templates successfully 'Done'):

    2.6. Pull Docker images

    Pull Docker image to ensure availability/accessibility

    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 configuration

    • provide 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

    All services will start and you should see all "green" done for each service:

    2.8. Check services

    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:

    Admin Panel Manual

    User App Architecture

    End-User Stories

    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.