-
-
Notifications
You must be signed in to change notification settings - Fork 20
Installation and 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.
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
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.
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.
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
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.
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.
Use the following command. Be sure to replace the 12345 with the proper port.
/home/JackrabbitRelay2/StartJackrabbit 12345
Please note that Jackrabbit Relay is not related to the Apache Jackrabbit project. Jackrabbit Relay is a standalone framework and API delivery system for automated algorithmic trading, designed for relaying JSON payloads that contain buy/sell order information between different systems (Charting software, forex brokers, cryptocrrency exchanges using REST). It is developed by Robert Darin and is not affiliated with or endorsed by the Apache Software Foundation or the Apache Jackrabbit project.
If you would like to help support this project financially, please click on the heart shaped sponsor's button in the right column of this page. I also have a merch store with some awesome and really cool products. Please visit supporting Jackrabbit for more options.
All subscriptions/sales go to the costs of sustaining Jackrabbit Relay. Thank you.
RAPMD Crypto: Automated algorithmic trading done right
Frequency Weighted OrderBook Analysis
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
Configuration
Configuration
Configuration files
Location and file names
File contents
Order types
Examples for the CCXT framework
Examples for the OANDA framework
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
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
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