Ana içeriğe geç

Kurulum

IQV Platform tek komutla kurulur. npm install, npm run build, docker compose, servis oluşturma veya Nginx ayarlama gibi manuel adım yoktur — hepsini kurulum scripti yapar.

Kanonik giriş noktaları:

İşletim sistemi Script
Windows scripts\windows\install.ps1
Linux scripts/linux/install.sh

Komutlar

# Auto (mod otomatik seçilir)
powershell -ExecutionPolicy Bypass -File .\scripts\windows\install.ps1

# Docker
powershell -ExecutionPolicy Bypass -File .\scripts\windows\install.ps1 -Mode docker

# Native (Docker'sız)
powershell -ExecutionPolicy Bypass -File .\scripts\windows\install.ps1 -Mode native
chmod +x scripts/linux/*.sh

# Auto (mod otomatik seçilir)
sudo ./scripts/linux/install.sh

# Docker
sudo ./scripts/linux/install.sh --mode docker

# Native (Docker'sız)
sudo ./scripts/linux/install.sh --mode native

Kurulum sonrası arayüz: http://localhost:5173/

Mod seçimi

-Mode / --mode verilmezse mod şu sırayla belirlenir ve seçilen mod ekrana yazılır:

  1. Önceki kurulumun kayıtlı modu (installed-version durum dosyası),
  2. Kayıt yoksa: Docker daemon çalışıyorsa docker, çalışmıyorsa native.

Sessizce yanlış moda düşme yoktur; ön koşul sağlanmıyorsa script tek ve açık bir hata mesajıyla durur.

Ön koşullar

Bileşen Docker modu Native mod
Node.js 22 (dashboard engines: >=22 <23) — Gerekli
Docker Engine + Compose v2 Gerekli —
Nginx — Gerekli (Linux native)
Harici MongoDB / MinIO / SMTP Gerekli Gerekli

Script eksik ön koşulu kendisi tespit eder ve ne yapılması gerektiğini tek satırda söyler; yarım kurulum bırakmaz.

Kurulumun yaptıkları

  1. Repo kökünü scriptin kendi konumundan hesaplar (cwd'ye güvenmez).
  2. Ön koşulları ve port çakışmalarını doğrular (5173, 3001).
  3. backend/.env yoksa .env.example'dan oluşturur; mevcut .env'i asla ezmez, gizli değer üretmez, eksik anahtarları raporlar.
  4. Zorunlu ortam değişkenlerinin dolu ve şablon olmadığını doğrular.
  5. Bağımlılıkları kurar, frontend + backend production build alır.
  6. Docker modunda compose stack'i (-p iqv-platform) ayağa kaldırır; native modda servis/görev tanımlarını (systemd + Nginx / Scheduled Task) kurar.
  7. Gerçek healthcheck yapar: backend /health ve frontend HTTP 200.
  8. Sağlık doğrulanmadan INSTALL SUCCESS yazmaz.

Seçenekler

Seçenek Açıklama
-Mode / --mode docker | native (verilmezse auto)
-Force / --force Zaten kuruluysa onarım/yeniden kurulum
-DryRun / --dry-run Hiçbir şey değiştirmeden yapılacakları listeler
-Yes / --yes Etkileşimsiz (CI/otomasyon)

Çıkış kodları

Kod Anlam
0 Başarılı
2 Hatalı kullanım/parametre
3 Eksik veya uyumsuz ön koşul
4 Port çakışması
5 Git hatası
6 Bağımlılık/derleme hatası
7 Healthcheck başarısız
8 Kurulum durumu (zaten kurulu vb.)

Idempotency

Kurulum ikinci kez çalıştırıldığında sistemi bozmaz: zaten kuruluysa durumu bildirir ve --force önerir. Kendi container'ının tuttuğu port çakışma sayılmaz.