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:
- Önceki kurulumun kayıtlı modu (
installed-versiondurum dosyası), - Kayıt yoksa: Docker daemon çalışıyorsa
docker, çalışmıyorsanative.
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ı
- Repo kökünü scriptin kendi konumundan hesaplar (cwd'ye güvenmez).
- Ön koşulları ve port çakışmalarını doğrular (
5173,3001). backend/.envyoksa.env.example'dan oluşturur; mevcut.env'i asla ezmez, gizli değer üretmez, eksik anahtarları raporlar.- Zorunlu ortam değişkenlerinin dolu ve şablon olmadığını doğrular.
- Bağımlılıkları kurar, frontend + backend production build alır.
- 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. - Gerçek healthcheck yapar: backend
/healthve frontend HTTP 200. - 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.