Docker Compose
En esta guía, desplegarás MyEMS con Docker Compose creando e iniciando todos los servicios con un solo comando.
Requisitos previos
- Docker, docker-compose y npm instalados en el host.
- Servidor MySQL instalado con usuario 'root' y contraseña '!MyEMS1'.
- La base de datos MySQL debe ser accesible desde el host donde se ejecuta Docker Engine.
Configuración
El "host" se refiere al servidor donde se ejecuta Docker Engine. La IP y las contraseñas mostradas son ejemplos, modifícalas según corresponda.
| -- | -- |
|---|---|
| Host IP | 192.168.0.1 |
| Database IP | 192.168.0.2 |
| Database User | root |
| Database Password | !MyEMS1 |
Instalación
- Clona el repositorio
git clone https://github.com/myems/myems.git
- Importa el esquema de la base de datos
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: Consulta database
- Modifica la configuración
Supón que la IP del host es 192.168.0.1, la IP de la base de datos es 192.168.0.2, la cuenta de la base de datos es: root y la contraseña es: !MyEMS1. Modifícalos según corresponda.
3.1 Modifica la dirección de la API en nginx.conf
cd myems
nano myems-admin/nginx.conf
nano myems-web/nginx.conf
3.2 Copia example.env a .env en cada carpeta y modifica la IP, el usuario y la contraseña de la base de datos en .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 Modifica la carpeta upload en docker-compose.yml Si el host es Windows, usa c:\upload para volumes/source en los servicios api y admin. Si el host es Linux, usa /upload para volumes/source en los servicios api y admin. Asegúrate de que las carpetas upload en api y admin sean la misma en el host.
- Compila la interfaz web
Modifica el archivo de configuración:
Get mapboxToken from https://mapbox.com and then set showOnlineMap to true. If you want to turn off online map feature, set showOnlineMap to false
cd myems/myems-web
sudo nano src/config.js
Build:
cd myems/myems-web
npm i
npm run build
- Ejecuta el comando docker-compose
En host Windows:
cd myems
docker-compose -f docker-compose-on-windows.yml up -d
En host Linux:
cd myems
docker-compose -f docker-compose-on-linux.yml up -d
- Verificación
| Dirección | Resultado esperado | |
|---|---|---|
| myems-web | 192.168.0.1:80 | Inicio de sesión exitoso con usuario y contraseña |
| myems-admin | 192.168.0.1:8001 | Inicio de sesión exitoso con usuario y contraseña |
| myems-api | 192.168.0.1:8000/version | Devuelve información de versión |
Si la API muestra un error, confirma que la IP, la cuenta y la contraseña de la base de datos en .env sean correctas. Si no, modifícalas y ejecuta:
docker-compose up --build -d
Debido a problemas de red del ISP, puedes experimentar lentitud al descargar imágenes. Puedes usar servicios de aceleración de terceros.