Ana İçeriğe Git

Docker Compose

Bu kılavuzda, tek bir komut ile tüm hizmetleri oluşturup başlatarak Docker Compose ile MyEMS'i dağıtacaksınız.

Önkoşullar

  • Konak makinede docker, docker-compose ve npm yüklü olmalı.
  • Kullanıcı adı 'root' ve parola '!MyEMS1' olan MySQL sunucusu yüklü olmalı.
  • MySQL veritabanına, Docker Motorunun çalıştığı konak makineden erişilebilmeli.

Yapılandırma

İpucu

Konak, docker motorunun çalıştığı sunucuyu ifade eder. IP ve hesap parolası, talimatları göstermek için varsayılan olarak kullanılmıştır. Lütfen bunları uygun şekilde değiştirin.

----
Konak IP'si192.168.0.1
Veritabanı IP'si192.168.0.2
Veritabanı Kullanıcıroot
Veritabanı Parolası!MyEMS1

Yükleme

  1. Depoyu kopyalayın (clone)
git clone https://github.com/myems/myems.git
  1. Veritabanı şemasını içe aktarın
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

Not: Veritabanı bölümüne başvurunuz

  1. Yapılandırmayı Değiştirin
İpucu

Konak IP'sinin 192.168.0.1, veritabanı IP'sinin 192.168.0.2, veritabanı hesabının: root ve veritabanı parolasının: !MyEMS1 olduğunu varsayalım, lütfen bunları uygun şekilde değiştirin

3.1 nginx.conf dosyasındaki API adresini değiştirin

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

3.2 Her klasörde example.env dosyasını .env'ye kopyalayın ve .env dosyasındaki veritabanı IP'sini, kullanıcı adını ve parolayı değiştirin

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 dosyasındaki upload klasörünü değiştirin Windows konak ise, api ve admin hizmetlerinde volumes/source için c:\upload kullanın. Linux konak ise, api ve admin hizmetlerinde volumes/source için /upload kullanın. Api ve admin'deki upload klasörlerinin konak makinede aynı klasör olduğundan emin olun.

  1. Web UI'yi Derleyin (Build)

Yapılandırma dosyasını değiştirin:

Not

mapboxToken'ı https://mapbox.com adresinden alın ve ardından showOnlineMap'i true olarak ayarlayın. Çevrimiçi harita özelliğini kapatmak istiyorsanız, showOnlineMap'i false olarak ayarlayın

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

Derleme (Build):

cd myems/myems-web
npm i --unsafe-perm=true --allow-root --legacy-peer-deps
npm run build
  1. docker-compose komutunu çalıştırın

Windows Konakta:

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

Linux Konakta:

cd myems
docker-compose -f docker-compose-on-linux.yml up -d
  1. Doğrulama
HizmetAdresBeklenen Sonuç
myems-web192.168.0.1:80Hesap ve parola girilerek giriş başarılı olmalı
myems-admin192.168.0.1:8001Hesap ve parola girilerek giriş başarılı olmalı
myems-api192.168.0.1:8000/versionSürüm bilgisi döndürülmeli
Bilgi

Eğer API hata verir, lütfen .env dosyasındaki veritabanı IP'sinin, veritabanı hesabının ve veritabanı parolasının doğru olup olmadığını onaylayın. Doğru değilse, lütfen bunları değiştirin ve ardından aşağıdaki komutu çalıştırın:

docker-compose up --build -d
Görüntü çekme (pull) zaman aşımı sorunlarını nasıl çözebilirim?

ISP ağ sorunları nedeniyle, görüntü çekme işlemi yavaş olabilir. Üçüncü taraf hızlandırma hizmetlerini kullanabilirsiniz.