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
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'si | 192.168.0.1 |
| Veritabanı IP'si | 192.168.0.2 |
| Veritabanı Kullanıcı | root |
| Veritabanı Parolası | !MyEMS1 |
Yükleme
- Depoyu kopyalayın (clone)
git clone https://github.com/myems/myems.git
- 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
- Yapılandırmayı Değiştirin
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.
- Web UI'yi Derleyin (Build)
Yapılandırma dosyasını değiştirin:
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
- 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
- Doğrulama
| Hizmet | Adres | Beklenen Sonuç |
|---|---|---|
| myems-web | 192.168.0.1:80 | Hesap ve parola girilerek giriş başarılı olmalı |
| myems-admin | 192.168.0.1:8001 | Hesap ve parola girilerek giriş başarılı olmalı |
| myems-api | 192.168.0.1:8000/version | Sürüm bilgisi döndürülmeli |
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
ISP ağ sorunları nedeniyle, görüntü çekme işlemi yavaş olabilir. Üçüncü taraf hızlandırma hizmetlerini kullanabilirsiniz.