メインコンテンツへスキップ

Docker Compose

このガイドでは、単一のコマンドですべてのサービスを作成して起動することで、Docker Composeを使用してMyEMSをデプロイします。

前提条件

  • ホストにdocker、docker-compose、npmがインストールされていること。
  • ユーザー名'root'、パスワード'!MyEMS1'のMySQLサーバーがインストールされていること。
  • Docker Engineが実行されているホストからMySQLデータベースに接続できること。

設定

ヒント

ホストとは、docker engineが実行されているサーバーを指します。IPとアカウントパスワードは例示用に仮定されています。適宜修正してください。

----
ホストIP192.168.0.1
データベースIP192.168.0.2
データベースユーザーroot
データベースパスワード!MyEMS1

インストール

  1. リポジトリをクローン
git clone https://github.com/myems/myems.git
  1. データベーススキーマをインポート
cd myems/database/install
mysql -u root -p < myems_billing_db.sql
mysql -u root -p < myems_carbon_db.sql
mysql -u root -p < myems_energy_baseline_db.sql
mysql -u root -p < myems_energy_db.sql
mysql -u root -p < myems_energy_model_db.sql
mysql -u root -p < myems_energy_plan_db.sql
mysql -u root -p < myems_energy_prediction_db.sql
mysql -u root -p < myems_fdd_db.sql
mysql -u root -p < myems_historical_db.sql
mysql -u root -p < myems_production_db.sql
mysql -u root -p < myems_reporting_db.sql
mysql -u root -p < myems_system_db.sql
mysql -u root -p < myems_user_db.sql

注:データベース を参照してください。

  1. 設定を変更
ヒント

ホストIPを192.168.0.1、データベースIPを192.168.0.2、データベースアカウントをroot、データベースパスワードを!MyEMS1と仮定しています。適宜修正してください。

3.1 nginx.conf内のAPIアドレスを変更

cd myems
nano myems-admin/nginx.conf
nano myems-web/nginx.conf

3.2 各フォルダでexample.envを.envにコピーし、.env内のデータベースIP、ユーザー名、パスワードを変更

cd myems
cp myems-aggregation/example.env myems-aggregation/.env
nano myems-aggregation/.env
cp myems-api/example.env myems-api/.env
nano myems-api/.env
cp myems-cleaning/example.env myems-cleaning/.env
nano myems-cleaning/.env
cp myems-modbus-tcp/example.env myems-modbus-tcp/.env
nano myems-modbus-tcp/.env
cp myems-normalization/example.env myems-normalization/.env
nano myems-normalization/.env

3.3 docker-compose.yml内のアップロードフォルダを変更 Windowsホストの場合、apiサービスとadminサービスのvolumes/sourceにc:\uploadを使用します。 Linuxホストの場合、apiサービスとadminサービスのvolumes/sourceに/uploadを使用します。 apiとadminのアップロードフォルダがホスト上で同じフォルダであることを確認してください。

  1. Web UIをビルド

設定ファイルを変更:

注釈

https://mapbox.com からmapboxTokenを取得し、showOnlineMapをtrueに設定してください。オンライン地図機能をオフにしたい場合は、showOnlineMapをfalseに設定してください。

cd myems/myems-web
sudo nano src/config.js

ビルド:

cd myems/myems-web
npm i --unsafe-perm=true --allow-root --legacy-peer-deps
npm run build
  1. docker-composeコマンドを実行

Windowsホストの場合:

cd myems
docker-compose -f docker-compose-on-windows.yml up -d

Linuxホストの場合:

cd myems
docker-compose -f docker-compose-on-linux.yml up -d
  1. 検証
アドレス期待される結果
myems-web192.168.0.1:80アカウントとパスワードを入力してログイン成功
myems-admin192.168.0.1:8001アカウントとパスワードを入力してログイン成功
myems-api192.168.0.1:8000/versionバージョン情報が返される
情報

APIがエラーを報告する場合、.env内のデータベースIP、データベースアカウント、データベースパスワードが正しいか確認してください。正しくない場合は修正し、次を実行してください:

docker-compose up --build -d
イメージプルタイムアウト問題の解決方法

ISPネットワークの問題により、イメージのプルが遅くなる場合があります。サードパーティの高速化サービスを利用できます。