Đi đến nội dung chính

Docker Compose

Trong hướng dẫn này, bạn sẽ triển khai MyEMS với Docker Compose bằng cách tạo và khởi động tất cả các dịch vụ bằng một lệnh duy nhất.

Điều kiện tiên quyết

  • Đã cài đặt docker, docker-compose, npm trên máy chủ.
  • Đã cài đặt máy chủ MySQL với tên người dùng 'root' và mật khẩu '!MyEMS1'.
  • Cơ sở dữ liệu MySQL có thể được kết nối từ máy chủ mà Docker Engine đang chạy.

Cấu hình

Mẹo

'Máy chủ' (host) ở đây chỉ máy chủ mà Docker Engine đang chạy. Địa chỉ IP, tài khoản và mật khẩu được đưa ra làm ví dụ để minh họa hướng dẫn. Vui lòng điều chỉnh cho phù hợp với môi trường của bạn.

----
Địa chỉ IP Máy chủ192.168.0.1
Địa chỉ IP Cơ sở dữ liệu192.168.0.2
Tài khoản Cơ sở dữ liệuroot
Mật khẩu Cơ sở dữ liệu!MyEMS1

Cài đặt

  1. Sao chép kho lưu trữ (repository)
git clone https://github.com/myems/myems.git
  1. Nhập lược đồ cơ sở dữ liệu
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

Lưu ý: Tham khảo cơ sở dữ liệu

  1. Sửa đổi Cấu hình
Mẹo

Giả sử địa chỉ IP máy chủ là 192.168.0.1, địa chỉ IP cơ sở dữ liệu là 192.168.0.2, tài khoản cơ sở dữ liệu là: root và mật khẩu cơ sở dữ liệu là: !MyEMS1, vui lòng sửa đổi chúng cho phù hợp

3.1 Sửa đổi địa chỉ API trong nginx.conf

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

3.2 Sao chép example.env thành .env trong mỗi thư mục và sửa đổi địa chỉ IP, tên người dùng và mật khẩu cơ sở dữ liệu trong file .env

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 Sửa đổi thư mục tải lên (upload) trong docker-compose.yml Nếu máy chủ là Windows, sử dụng c:\upload cho volumes/source trong các dịch vụ api và admin. Nếu máy chủ là Linux, sử dụng /upload cho volumes/source trong các dịch vụ api và admin. Đảm bảo thư mục upload trong api và admin trỏ đến cùng một thư mục trên máy chủ.

  1. Xây dựng Giao diện Web (Web UI)

Sửa đổi file cấu hình:

Ghi chú

Lấy mapboxToken từ https://mapbox.com và sau đó đặt showOnlineMap thành true. Nếu bạn muốn tắt tính năng bản đồ trực tuyến, hãy đặt showOnlineMap thành false.

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

Xây dựng:

cd myems/myems-web
npm i --unsafe-perm=true --allow-root --legacy-peer-deps
npm run build
  1. Chạy lệnh docker-compose

Trên Máy chủ Windows:

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

Trên Máy chủ Linux:

cd myems
docker-compose -f docker-compose-on-linux.yml up -d
  1. Xác minh
Địa chỉKết quả mong đợi
myems-web192.168.0.1:80Đăng nhập thành công bằng cách nhập tài khoản và mật khẩu
myems-admin192.168.0.1:8001Đăng nhập thành công bằng cách nhập tài khoản và mật khẩu
myems-api192.168.0.1:8000/versionTrả về thông tin phiên bản
Thông tin

Nếu API báo lỗi, vui lòng xác nhận xem địa chỉ IP cơ sở dữ liệu, tài khoản và mật khẩu trong file .env có chính xác không. Nếu không, vui lòng sửa đổi chúng và sau đó thực thi:

docker-compose up --build -d
Cách giải quyết sự cố thời gian chờ (timeout) khi tải image

Do các vấn đề mạng của nhà cung cấp dịch vụ Internet (ISP), bạn có thể gặp phải tình trạng tải image chậm. Bạn có thể sử dụng các dịch vụ tăng tốc của bên thứ ba.