Skip to content

Installation and Setup

Rose Heart edited this page May 2, 2023 · 30 revisions

Installation/Setup

Please be aware that you may need to switch to your root account. Please follow the necessary instructions provided by your VPS provider. This document assumes you are already at root level or have your virtual environment established, both are beyond the scope of this documentation.

This system does NOT use containers or Docker. Jackrabbit Relay should be ran on its own independant server and NOT shared with ANY other servers. A self -contained VPS works very well. This is done to maximize security and minimize cost.

Virtual screens significantly make this process easier. If you aren't familar with them, please watch This video before continuing.

Requirements

This software requires a VPS with with a minimum of 1 core (2 cores is heavily recomended), 1 gig of RAM (4 recomended), 2 gigs of swap, 40 gigs of SSD storage. This software was developed for the intention of using a VPS to its fullest extent. If you wish to use a virtual environment, please consult your VPS documentation.

Jackrabbit Relay requires Python 3 (version 3.8.10) and pip3. If you do not have pip3, the below link will show you how to install it.

https://www.linuxscrew.com/install-pip

The command for installation really is very simple and here is the short version. please be sure you are in route or in your virtual environment appropriate to the documentation of your VPS. the below command is for Ubuntu.you will need to use the package manager appropriate to your VPS.

    apt install python3-pip

In addition tp pip3, the stat command is also required, but often not installed on many modern VPSes. Type the following to verify that it is present:

stat --version

If it is on your VPS, you will see something like this:

stat (GNU coreutils) 8.30
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Michael Meskes.

If you get a command not found error, type the below command to install it:

apt install coreutils

Stopping Version 1

IMPORTANT: Follow ALL of these steps IN ORDER!

DO NOT DELETE YOUR /home/Jackrabbit VERSION 1 DIRECTORY.

Be sure to carefully PLAN when you upgrade from Version 1 to Version 2. Any open trades could potentially take loses.

This step only applies if you are running Version 1. If you are not running Version 1. just skip this and go to installing Version 2.

ps xaf | egrep "JackrabbitRelay|Equilibrium|Procurator"

You should see something like the below image.

Jackrabbit Relay Version 1 process list

Now we modify the above command to stop all the listed processes.

kill -s 9 `ps xaf | egrep "JackrabbitRelay|Equilibrium|Procurator" | cut -b-8`

If you repeat the above ps command, all of the previous processes should now be gone and version 1 of Jackrabbit Relay completely shut down.

Now to move and backup everything. We are going to make THREE (3) backup copies of the GitHub folder AND the active JackrabbitRelay folder. Yes, I'm being paranoid, but better safe then sorry, especially with your configuration files.

mkdir -p /home2
cp -lpr /home/GitHub/ /home2/GH.1
cp -lpr /home/GitHub/ /home2/GH.2
cp -lpr /home/GitHub/ /home2/GH.3
cp -lpr /home/JackrabbitRelay/ /home2/JRR.1
cp -lpr /home/JackrabbitRelay/ /home2/JRR.2
cp -lpr /home/JackrabbitRelay/ /home2/JRR.3

At this point, you have three copies of the version 1 GitHub and active Jackrabbit Relay folders.

Now we need to remove the version 1 JackrabbitRelay folder. TAKE YOUR TIME AND CHECK YOUR TYPING CAREFULLY. Be sure you are in the /home/GitHub folder. DOUBLE CHECK EVERYTHING!!

cd /home/GitHub
rm -r JackrabbitRelay

All version 1 files have been removed from the /home/GitHub folder and you are ready to install Version 2. If you have followed ALL of the above, you have THREE (3) backups as a precaution. Proceed with the installation of Version 2.

Installing and setting up Version 2

Start with these shell commands

mkdir -p /home/GitHub
cd /home/GitHub
git clone https://github.com/rapmd73/JackrabbitRelay

You now have a copy of the Jackrabbit Relay repository. Now its time to install everything.

cd /home/GitHub/JackrabbitRelay
./install

Configuration

If you were running Version 1, you can copy over your version 1 configuration files, but be aware that changes DO need to be made for them to work with Version 2.

At this point the files are installed, but more setup is required before Relay is ready to run. Configuring the exchanges and crontab need to be completed next.

Now we need configure the server identity. type the following:

cd /home/JackrabbitRelay2/Config
/home/JackrabbitRelay2/Extras/MakeIdentity

You will get something like this:

{ "Identity":"]q=Z2{]fbvpeC;J8iYp!,B/P,Qx[dv<TX4)vZj^S8UnfIXM8@7ktvpwi^[65MgB2!d1Ys4*X72^+/^}Ch_Pua.Ci{g&kv+dzq(];ISLNiy/KT1(,~1bFV$YwKr@9*#XdHR0Yi^J-lQN%E~8W8Y3g$d%kf~6uX]yCK<4}zkE8(qvtGh4lru}4h0jJZi$KFzjm1<F!R9P4{+wq[/i[0@o4m-q0cl(&^l_o)O4p^~=[0PLr:(:ikGXvyvdy%E&@)3k,m>GYe5gYm>Tz4ShM$0doJ,e2Cg4kVyU)FHmi1a$Zv/3WH+yNrD2@p1-g~C}tAqt&>mreXE^!cDL.8+D<SsJ5u;~t{1wsNrRNZDIsum3Zawgf{uM.UM5klWJIUCu5DE.(&!G$x_fQ<#x0~F:6cg/_;y[]nvF)S65w98b0<SB#X!6,wFJnq^0v$-2.jgr%V,jwiULN%$A}zwD5lx;rIlD1)pxNsDE$SP.HQlds8ad%wG)vDrN_(O7s$-YwgtL+]+SE0b(Oj$=VjL;BNX-[_>Zj(9XC/3dbH/bnb<P7mwjOM6&$MA#:oL}F;Rd{=z/D_,2%jW!7/k4Q0L1SgO8tZmeR:RAUsH%gD>tWB43vUc+wpHM2TMmAiroHigXV+g]Hpflk8#KAoz,!NMki;nso<PGTU<7n:]nWt9:O!*RUK)ySL~X}vK<:(L4o)zl^f%N%nd!Giu[wEci&{^V*:&Pe+8aM^hkGpgwMdMmX5QV]z3~=3T,^m0ZNA5@M4t)}-wzehO}1ZJ_XKaTBe7snciP>OwH5/n3jG2fGljfTcgne(!;+Rz3BT6;Q=7Q}qFo[#o3aW6uaUJ$L:rDgls,GwksY54BzEvWOoR{J@I;iN1$>G7#8Q~X1;{S>I5ZQ0&6+Jtbo:ZG3I2P4uPD5XI@jD/;/v$,@UFk5vq[j_U/e;1r9/n;f8f@xEwH~kKaKaCb=d0/xG^-cCL#~^iRAN<V;duy!%.8RB0&=EZ-~:X9!8!xhzC}a_TF&w3vnqY8/m&/<bI6al^+o$Jsjq/l1n^1xvO:;ZX}:IWx1I)9drGBokPfEY0A1[)0[PR,Nuk6VmE(sBh6TOjsWV:6FG,PF]#6eM&f$u9<kes<:L4Jm3/t4j}63GSF~Tv2+=6qk5;r!f)IP7pi864Im{QTn:c,L>~KSM3~mYe)Kr;u5$}KjzO{HunmvJQr5ts;hin2D7EoT[90aDz35fIozk1$Qp]%fyuA*RNm(N)/eS_rM{1nLu$XI+vm:eV!03J!XLO3NMm30M_*F-g!&QTaE7m486x1:l%DKUWS.wA)_ldGerlmSy8LIf6_yE>3]p&gqx*g$j<)g4j^vk<+.oM$FEvkoQZx.B~^]8mQOG;W)gp5Co(;B=,@O.rhMsy#x<OEQaEGdmIHFj_j5(#yH$Ztcwr^bpw6^sk(n;MBE{a:&:,p+G</OkW]*S{.Q[RON7!tGy5tZ:;A4[na$MpqD@At<h(cq^t_VaGpF{$hR@U#WQc4Q!)xlEaoV){2Ee3r+NK&d%*RwEv^60<!8F~4&,N0YtzUS_x(~Fn-KTXthnrGQZp9qVP~ugUHY7*qmqfrD^a!&wU7X}LyUF7i7O%M_u4~)@UNg~z+CwjJ!cvcH!J/ZM~:@kSZF,Mm{eSM4(X%!YXCJK}<F/Iw>1<Y#][]-PR+1]<cPFx6iq&BPI)ZPhSe[X;3gs5&B0$i&(q3asOA$.H~(-@}5fO(s_IpEX<ZW+t&L^!u08=d;jK%H]Kxg_YbS&>:uqbtyGt@u6^M(8MvIEodvB&~1HTU*q<b5Sz(HDI(4{NfBgaI6d5zVmz!$i<EIn+Rc.jPYBJXwGyY0q4gP)0&%EV:B/~Zy$ESFlrK{kxJo3Hzgc6b$rETew{U8]pF{&f2MR,8HiC:ja*q=jg>qUA2YmC6z]9ua_8!O~LOJ7pL_I5imCLoEFNixeF:MLy{&6im:KX8FisZkzNcQXk};_*)*Y9PF#VcD<.cyt@KJrKo-PMO>)" }

Now we need to turn the above mess into an Identity.cfg file:

cd /home/JackrabbitRelay2/Config
/home/JackrabbitRelay2/Extras/MakeIdentity > Identity.cfg

DO NOT GIVE THIS INFORMATION TO ANYONE. This information must be included in your orders for Jackrabbit Relay to carry out a trade.

Now we set up the IPList.cfg file. The perion (.) is required in this command. This command will copy a list of IP addresses that are allow to place a trade on your system.

cd /home/JackrabbitRelay2/Config
cp /home/GitHub/JackrabbitRelay/Config/IPList.cfg .

The file looks something like this:

# Local host
127.0.0.1

# TradingView
52.89.214.238
34.212.75.30
54.218.53.128
52.32.178.7

# Your VPS IP address
127.0.0.1

Using nano or mcedit of some other text editor, add your VPS IP address to this file and save it.

Now you need to configure your first exchange. You will need to follow your exchage/broker documentation to obtain an API/SECRET or Bearer Token combination.

After you have configured your exchanges/brokers, you'll need to run the following:

cd /home/GitHub/JackrabbitRelay
./Extras/TV2Exchange kucoin MAIN
./UpdatePlaceOrder kucoin

TV2Exchange only need to be ran once for every exchange/account you plan to use with TradingView.. The update process will manage the symbol maps from then on.

UpdatePlaceOrder should be ran for your exchanges after each and every update.

Reboot startup

For Jackrabbit Relay to auto start after a reboot, the following line needs to be added to your crontab. BE SURE TO CHANGE THE 12345 TO THE PORT YOU WANT. It is absolutely critical that you are root user or run crontab with sudo privileges. Relay must be in the crontab root level to work correctly.

@reboot ( /home/JackrabbitRelay2/StartJackrabbit 12345 & ) > /dev/null 2>&1

If you are running Version 1, be sure to disable or remove the Version 1 startup from youe crobtab when you upgrade to Version 2.

Manual startup

Use the following command. Be sure to replace the 12345 with the proper port.

/home/JackrabbitRelay2/StartJackrabbit 12345

RAPMD Crypto: Automated algorithmic trading done right

Jackrabbit support server

JSON Validator

Frequency Weighted OrderBook Analysis

Advanced Research

Introduction

Jackrabbit Relay
Introduction
Risks
Disclaimer
Notes
Video
Supported Exchanges/Brokers
Security and firewall
Installation
Updating
Configuration files
Live Trading


Installation-and-Setup

Installation/Setup
Requirements
Stopping Version 1
Installing and setting up Version 2
Configuration
Reboot startup
Manual startup


Identity

Identity


Configuration

Configuration
Configuration files
Location and file names
File contents
Order types
Examples for the CCXT framework
Examples for the OANDA framework


Orders

JackrabbitRelay Order Payloads
Payload Synopsis
Order Types
Actions
Examples


Conditional Orders

JackrabbitRelay Order Payloads
Oliver Twist: Jackrabbit Relay conditional and orphan order manager
Unveiling Oliver Twist's Conditional Methodology
Managing Orphan Orders: The Limit-Only Approach
The Literary Significance of "Oliver Twist"


Supported-Exchanges-and-Brokers

Supported Exchanges/Brokers
Forex Brokers
Confirmed working brokers
Cryptocurrency Exchanges
Confirmed working exchanges
Theoretically supported


Known-Issues

Known Issues
Closing a position fails
BitMex
Phemex
ByBit
Python 3.10
Kucoin Futures/TradingView


Virtual-Exchange-Broker-DSR

DSR (Duplicate Signal Remover)
Log Files


Jackrabbit-Mimic

Jackrabbit Mimic
Introduction
Usage
Data Source Integration
Simple Setup Process
Understanding Differences
Educational Focus
Setup and Configuration
Wallets and history
How cryptocurrency wallets work
Long positions
Short positions
Alert/Signal messages
Long positions
Short positions
Supporting Jackrabbit Mimic


Logs

Logs
Files
JackrabbitRelay
PlaceOrder


Testing-TradingView-connection

Testing TradingView connection
Testing method
Setup
DSR Testing
Force feeding payloads
Next Steps


Step-by-step guide to live trading with TradingView

Step-by-step guide to live trading with TradingView
Walk Through
Strategy Differences


Additional Programs

Additional Programs


Roadmap

Roadmap
Finished
In Progress
Future Plans


Supporting-Jackrabbit

Supporting Jackrabbit and it's future development
Current patrons and subscribers
The cost of open source
Supporting

Terms-and-Definitions

Terms and Definitions

Clone this wiki locally