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 にも手軽に対応できるので本家のドキュメントを読んでお試しください。
Comments