FXシステムトレードフレームワーク Jiji をCentOS7にセットアップ
FXシステムトレードフレームワーク「Jiji」のセットアップメモです。
「Jiji」のドキュメントにはHeroku、AWS、Dockerの3つの方法が載っており、前者2つは詳細に説明が書かれていますが、3つ目の「Dockerにインストール」はパッケージインストールが省略されています。
この記事はCentOS7での1からのセットアップ記事です。誰かの参考になれば。
Docker、Git、docker-composeのインストール
# システムをアップデート $ sudo yum update -y # Gitのインストール $ sudo yum install -y git # Dockerの最新版をインストール $ curl -sSL https://get.docker.com/ | sh $ docker -v Docker version 1.10.2, build c3959b1 $ sudo systemctl start docker $ sudo systemctl enable docker $ sudo usermod -a -G docker YOURUSERNAME # docker-composeをインストール $ curl -L https://github.com/docker/compose/releases/download/1.6.0/docker-compose-`uname -s`-`uname -m` > /tmp/docker-compose $ sudo mv /tmp/docker-compose /usr/local/bin/ $ sudo chmod +x /usr/local/bin/docker-compose
docker-compose設定ファイルのひな形をチェックアウト
$ git clone https://github.com/unageanu/docker-jiji2
オレオレ証明書の作成
# スーパーユーザにスイッチ $ sudo su # jiji用のディレクトリ作成、移動 $ mkdir -p /etc/ssl/certs/jiji $ cd /etc/ssl/certs/jiji # 秘密鍵を生成 $ openssl genrsa 2048 > server.key # CSRを作成 $ openssl req -new -key server.key > server.csr # サーバー証明書を作成 $ openssl x509 -sha256 -days 365 -req -signkey server.key < server.csr > server.crt # アクセス権を制限 $ sudo chown root.root server.key $ sudo chmod 600 server.key # スーパーユーザから抜ける $ exit
docker-compose.yml の編集
vim ~/docker-jiji2
jiji: container_name: jiji_jiji image: unageanu/jiji:latest environment: # サーバー内部で秘匿データの暗号化に使うキー # 必ず変更して使用してください。 USER_SECRET: 20e43fa41e75c9fe958f5f11bc9e79d2174b50b links: - mongodb mongodb: container_name: jiji_mongodb image: mongo:3.0.7 ports: # MongoDBのポート番号 # 必要に応じて変更してください。 - "27018:27017" volumes: # MongoDBのデータを保存するディレクトリ # デフォルトでは、コンテナ内に作成します。(この場合、コンテナを再作成すると、データが初期化されます) # コメントアウトしてパスを設定することで、ホストマシンの任意のディレクトリに変更することができます。 # './' で始めることで、docker-compose.ymlからの相対パスで指定可能です。 # - ./path/to/data/dir:/data/db nginx: container_name: jiji_nginx image: unageanu/jiji-nginx:latest links: - jiji ports: # Jijiのポート番号 # 443に変更します - "443:443" volumes: # SSL証明書のパス # './path/to/server.crt' にサーバー証明書、 # './path/to/server.key' に秘密鍵を指定します。 # './' で始めることで、docker-compose.ymlからの相対パスで指定可能です。 - /etc/ssl/certs/jiji/server.crt:/etc/nginx/cert/ssl.crt:ro - /etc/ssl/certs/jiji/server.key:/etc/nginx/cert/ssl.key:ro
Dockerコンテナ起動
$ sudo /usr/local/bin/docker-compose up -d Creating jiji_mongodb Creating jiji_jiji Creating jiji_nginx
アクセス
https://<インストール先ホスト>:<docker-compose.ymlで設定したJijiのポート/デフォルトは8443>