跳到主要內容

把 Gekko 交易機器人安裝到雲端 (Amazon EC2、Google Cloud) 上,免開機就能 24HR 操盤



雖然在官網其實有教學如何 Installing Gekko on a server,不過都沒講到伺服器方面要怎麼設定或是雲端服務怎麼用,所以就稍微來介紹一下怎麼把 Gekko 裝上雲端,這樣以後要使用就不用一直開著電腦了,隨時可以透過伺服器的 ip 連上操作介面。

其實這類雲端服務也很多,比較有名的就是像 Google CloudAmazon EC2...等,基本上都是需要收費的,也千萬不要找沒有信譽的雲端主機,畢竟你等於把交易所的 API Key 放在那裡面運作,安全絕對是最重要的。

我會選擇用 Amazon EC2 來裝 Gekko,因為它有 12 個月免費試用還有部分服務是永久免費的,其實 Google 也是一年免費,想用哪個可以自己比較看看後續的費率。



Amazon EC2
官方網站 : https://aws.amazon.com/tw/ec2


要注意的是註冊時需要提供信用卡資訊,但在免費流量用完前是不會扣款的。註冊完後點選右上方的登入主控台。


選啟動虛擬機。可以看到 AWS 的服務也是非常多,不但能裝機器人還可以順便架個網站之類的。


選 EC2 方案,Lightsail 是要錢的,任誰都會選免錢的吧。


取個大吉大利的好名字。


 選 Amazon Linux AMI 就好。


實例類型就 t2.micro,它免費的也沒太多給你選,基本上不會跑太多運算夠用就可以了。


密鑰是一個 .pem 檔,下載回來要好好留著等會還要用。 那這樣你的 EC2 伺服器就正式上線了,現在要做的是從本機電腦連線到伺服器。


連線到你的 Linux 主機會需要用到 PuTTY 這個程式,可以到官網去下載,建議下載 .zip 版本的省的還要安裝。


下載回來後先開啟 PUTTYGEN.EXE要先把剛剛的 .pem 密鑰轉檔。


Load 剛剛下載回來的 .pem 密鑰,記得將檔案類型改成 All Files 不然看不到。


然後 Save private key 把它存成 .ppk 檔。


再來就可以開啟 PUTTY.EXE,Host Name 的格式是「用戶名@公有 DNS (IPv4)」,如果都是用 EC2 這個方案的話用戶名統一都是 ec2-user,公有 DNS 可以在主控版介面看到,如下。



同個介面展開 Connection > SSH > AuthBrowse 剛剛轉檔的 .pkk 密鑰,然後就可以 Open 開啟終端機了。

隨後就可以看到終端機的畫面,接下來要做的事就跟在自己電腦的步驟一樣,先裝 Node,js。

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.6/install.sh | bash
用上述指令安裝 nvm v0.33.6。

. ~/.nvm/nvm.sh
安裝完後再用上述指令啟動 nvm。


nvm install 8.9.4
安裝 8.9.4 版(最新)的 Node.js,跑完後就裝好 Node.js 了


接著就可以裝 Gekko 了,先去 GitHub 下載乾淨的 Gekko 回來,因為需要改 config 才能上傳到伺服器。


打開資料夾中 gekko-develop/web/vue/ 的 UIconfig.js,將它修改成如下。host 記得自己改成自己的 IPv4 公有 IP


const CONFIG = {
    headless: true,
    api: {
        host: '0.0.0.0',
        port: 3000,
    },
    ui: {
        ssl: false,
        host: '你的 IPv4 公有 IP',
        port: 3000,
        path: '/' 
    },
    adapter: 'sqlite'
}

if(typeof window === 'undefined')
  module.exports = CONFIG;
else
  window.CONFIG = CONFIG;



pscp -i C:\Gekko.ppk -r C:\gekko ec2-user@ec2-13-231-67-37.ap-northeast-1.compute.amazonaws.com:/home/ec2-user/
接著按 Win+R > CMD,開啟Windows command line,把本機的 Gekko 上傳到伺服器。請自行調整路徑,紅體字分別是本機的 .ppk 密鑰路徑和 Gekko 資料夾路徑,藍體字則是登入需要的資訊。


screen
首先在終端機鍵入 screen 這個指令,之後即使你把 PUTTY 關掉後 Gekko 才會繼續執行,如果不想一直執行可以用 screen -r 取消。


cd /home/ec2-user/gekko
用指令 cd 到剛剛上傳的路徑,如果你的 Gekko 資料夾不叫 gekko 要自己改。


npm install --only=production
後面就跟在 Windows 一樣了,打指令讓它安裝。

node gekko --ui
開啟 Gekko,恭喜你雲端版的 Gekko 正式上線了,24HR 隨時為你操盤。





留言



這個網誌中的熱門文章

Linux (Ubuntu) 查詢硬碟容量、剩餘大小指令

在 Ubuntu Desktop 版本或有安裝 GUI 像 Xfce 的 Server 版本當然可以直接從圖形介面查看硬碟容量和已經使用的大小, 但如果是在純 CLI 版本或使用 SSH 連線時呢?那就需要用到指令了。 顯示硬碟容量、已使用、可用大小。 df -h 查詢資料夾所占硬碟的大小。 du -h 查詢檔案大小 ls -l

RealVNC - 支援多系統的 VNC Viewer,免費遠端桌面客戶端 (Windows / Linux (Ubuntu) / Raspberry Pi /...)

對於不熟悉 SSH 介面的使用者來說可能第一個想法都會是使用遠端桌面,但要知道大多數的 VPS 主機都是提供 Linux 系統 (Ubuntu / RedHat / Debian...等),它們架好的 VNC Server 多半是沒辦法直接以 Windows 系統內建的「遠端桌面連線」來操作的,就好像兩端的通道是開了起來但卻仍說著不同的語言,所以就需要專用的 VNC Viewer 來連線, 而 RealVNC 支援非常多不同的作業系統環境,包括 Windows、Linux、Raspberry Pi、Android、iOS...等,幾乎可以說是一應具全啦。 RealVNC 官方網站:  https://www.realvnc.com/en 下載頁面:  https://www.realvnc.com/en/connect/download/viewer 只要從 「File > new connection」 就可以新增一個連線,爾後只要點選介面中已設定好的連線就可以隨時進入遠端主機,而主機端 (VPS) 也記得要先架設好 VNC Server 和新增防火牆例外,避免被拒絕的連線。

如何將 ISO 檔上傳到 VMware ESXi 6.5 並且用虛擬光碟開機?適用於安裝 Linux 或其它作業系統

在將實體機器使用  VMware ESXi 6.5 虛擬化之後就可以在它所提供的網頁管理介面操作每個虛擬個體,但要怎麼把用來安裝系統的 ISO 檔傳到虛擬機呢?而這些 ISO 檔會需要做成開機隨身碟的模式才能用嗎? 其實 ESXi 6.5 可以直接建立一個虛擬光碟機來驅動安裝系統用的 ISO 檔 ,所以安裝起來甚至會比實體機更簡單方便。 首先進到 ESXi 的管理介面 > 儲存區 ,點選 資料存放區瀏覽器 。 然後就能上傳事先下載好的 ISO 檔,不一定要存在哪一層路徑或特定位址,但建議新開一個資料夾方便整理,之後也可以直接指定這個路徑內的 ISO 檔。 然後在 虛擬機電源關閉 的情況下進入編輯設定。 新增一台 CD/DVD 光碟機。 選擇資料存放區 ISO 檔案。 瀏覽到剛剛上傳 ISO 檔的位址。 並且在虛擬機器選項的地方強制在 下次開機時強制進入 BIOS 設定畫面。 然後啟動虛擬機電源並開機後 到 Boot 的地方將 CD-ROM Drive 順位提高 ,就能以剛剛掛載的虛擬光碟機開機了。