symbol-bootstrap の dockerファイルに修正を加えず、別の docker-compose から https-portal を立ち上げる。

$ mkdir https-portal
$ cd https-portal

docker-compose ファイルの作成

$ vi docker-compose.yml

「symbol-mainnet.ドメイン.com」の箇所は自分のドメイン名に変更

version: '2.4'
services:
    https-portal:
        container_name: https-portal
        image: 'steveltn/https-portal:1'
        ports:
            - '80:80'
            - '3001:443'
        restart: 'on-failure:2'
        environment:
            DOMAINS: 'symbol-mainnet.ドメイン.com -> http://rest-gateway:3000'
            #STAGE: 'production' # テストが完了するまで production にはしないように
            #LISTEN_IPV6: 'true'  #IPv6対応
            WEBSOCKET: 'true' #Websocket対応
        volumes:
            - 'https-portal-data:/var/lib/https-portal'

# HTTPS-PORTALをアップデートする際に再サインするのを避ける
volumes:
    https-portal-data:

networks:
    default:
          external:
              name: docker_default

networks: のneme: docker_default は

$ docker network ls

で一覧取得

$ docker network inspect docker_default

でsymbol-bootstrap/target/docker/docker-compose.yml のサービスが稼働しているか確認。 

起動する前に symbol-bootstrap で サービスを起動させておくこと。

$ docker-compose up -d

dockerプロセスがちゃんと動いているか確認

$ docker ps
CONTAINER ID        IMAGE                                      COMMAND                  CREATED             STATUS              PORTS                                       NAMES
1fde41d5a94b        steveltn/https-portal:1                    "/init"                  8 minutes ago       Up 8 minutes        0.0.0.0:80->80/tcp, 0.0.0.0:3001->443/tcp   https-portal
8082e39a1d7a        symbolplatform/symbol-server:gcc-1.0.0.0   "/bin/bash /symbol-c…"   18 hours ago        Up 18 hours         0.0.0.0:7900->7900/tcp                      node
61801f414626        symbolplatform/symbol-server:gcc-1.0.0.0   "/bin/bash /symbol-c…"   18 hours ago        Up 18 hours         0.0.0.0:7902->7902/tcp                      broker
66efea6f30b0        symbolplatform/symbol-rest:2.3.5           "docker-entrypoint.s…"   18 hours ago        Up 18 hours         0.0.0.0:3000->3000/tcp                      rest-gateway
cf650b0a3ada        mongo:4.4.3-bionic                         "docker-entrypoint.s…"   18 hours ago        Up 18 hours         27017/tcp                                   db

ブラウザで https://ノードIP:3001/node/info にアクセス

https-portal の STAGEがProductuion ではないため、自己証明書の状態。ブラウザで警告が出ると思いますがそのままアクセスし、正常に表示されているか確認。

自己証明書警告

確認できたら、再度

$ docker-compose down
$ vi docker-compose.yml

STAGE の 前の # を削除 

STAGE: 'production'

 

$ docker-compose up -d 

 ブラウザで https://ノードIP:3001/node/info にアクセス

今度はちゃんと警告なしで有効な証明書になっています。

IPv6 や WebSocket にも手軽に対応できるので本家のドキュメントを読んでお試しください。

 

Tags

Comments