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
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 IP | 192.168.0.1 |
| Database IP | 192.168.0.2 |
| Database User | root |
| Database Password | !MyEMS1 |
Instalação
- Clone o repositório
git clone https://github.com/myems/myems.git
- 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
- Modifique as configurações
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.
- Compile a interface web
Modifique o arquivo de configuração:
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
- 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
- Verificação
| Endereço | Resultado Esperado | |
|---|---|---|
| myems-web | 192.168.0.1:80 | Login bem-sucedido ao inserir conta e senha |
| myems-admin | 192.168.0.1:8001 | Login bem-sucedido ao inserir conta e senha |
| myems-api | 192.168.0.1:8000/version | Retorna informações de versão |
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
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.