Ir para o conteúdo principal

Docker Compose

Neste guia, você irá implantar o MyEMS com Docker Compose criando e iniciando todos os serviços com um único comando.

Pré-requisitos

  • Docker, docker-compose e npm instalados no host.
  • Servidor MySQL instalado com usuário 'root' e senha '!MyEMS1'.
  • O banco de dados MySQL pode ser acessado a partir do host onde o Docker Engine está em execução.

Configuração

Dica

O host refere-se ao servidor onde o motor do docker está em execução. O IP e a senha da conta são assumidos e usados para mostrar as instruções. Por favor, modifique conforme necessário.

----
Host IP192.168.0.1
Database IP192.168.0.2
Database Userroot
Database Password!MyEMS1

Instalação

  1. Clone o repositório
git clone https://github.com/myems/myems.git
  1. Importe o esquema do banco de dados
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

Nota: Consulte banco de dados

  1. Modifique as configurações
Dica

Suponha que o IP do host seja 192.168.0.1, o IP do banco de dados seja 192.168.0.2, a conta do banco de dados seja: root e a senha do banco de dados seja: !MyEMS1, por favor, modifique conforme necessário

3.1 Modifique o endereço da API no nginx.conf

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

3.2 Copie example.env para .env em cada pasta e modifique o IP do banco de dados, usuário e senha em .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 Modifique a pasta upload no docker-compose.yml Se o host for Windows, use c:\upload para volumes/source nos serviços api e admin. Se o host for Linux, use /upload para volumes/source nos serviços api e admin. Certifique-se de que as pastas upload em api e admin sejam a mesma pasta no host.

  1. Compile a interface web

Modifique o arquivo de configuração:

Nota

Obtenha o mapboxToken em https://mapbox.com e então defina showOnlineMap como true. Se quiser desativar o recurso de mapa online, defina showOnlineMap como false

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

Compile:

cd myems/myems-web
npm i --unsafe-perm=true --allow-root --legacy-peer-deps
npm run build
  1. Execute o comando docker-compose

No host Windows:

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

No host Linux:

cd myems
docker-compose -f docker-compose-on-linux.yml up -d
  1. Verificação
EndereçoResultado Esperado
myems-web192.168.0.1:80Login bem-sucedido ao inserir conta e senha
myems-admin192.168.0.1:8001Login bem-sucedido ao inserir conta e senha
myems-api192.168.0.1:8000/versionRetorna informações de versão
Informações

Se a API apresentar erro, confirme se o IP do banco de dados, a conta e a senha no .env estão corretos. Se não estiverem, modifique e execute:

docker-compose up --build -d
Como resolver problemas de timeout ao baixar imagens

Devido a problemas de rede do provedor, você pode experimentar lentidão ao baixar imagens. Você pode usar serviços de aceleração de terceiros.