Dağıtım (Docker)¶
Üretim dağıtımı docker-compose.yml (ve sıkılaştırılmış üretim için
docker-compose.prod.yml) ile tanımlıdır. Bu sayfa genel bakıştır; ayrıntılar
için: Docker Mimarisi (servisler, portlar,
volume, healthcheck ayrıntıları), Docker Image ve Container
(imaj nasıl derlenir, tag mantığı) ve Güncelleme / Rollback
(container yaşam döngüsü, gerçek komutlar).
Servisler¶
| Servis | İmaj | Açıklama |
|---|---|---|
mongo |
mongo:7 |
Kalıcı veri, yalnızca managed-mongo profiliyle çalışır, yalnızca 127.0.0.1'e açık |
backend |
iqvflex/backend/Dockerfile (node:22-alpine) |
Node.js/Express, /health |
frontend |
dashboard/Dockerfile (node:22-alpine → nginx:1.27-alpine) |
Vite SPA + backend ters vekili, tek giriş noktası |
docker compose up yerine ./install.sh / .\install.ps1 kullanılması
önerilir — betikler .env üretimi, imaj derleme ve healthcheck doğrulamasını
otomatik yapar.
Manuel Docker komutları (geliştirme)¶
docker compose config # yapılandırmayı doğrula
docker compose build # imajları derle
docker compose up -d # servisleri başlat
docker compose logs -f # günlükleri izle
docker compose ps # SERVICE / STATUS / PORTS / HEALTH
Ortam değişkenleri¶
| Değişken | Varsayılan | Açıklama |
|---|---|---|
FRONTEND_PORT |
8080 |
Tek giriş noktası (nginx) |
BACKEND_PORT |
3001 |
Yalnızca 127.0.0.1'e bağlanır |
MONGO_PORT |
27017 |
Yalnızca 127.0.0.1'e bağlanır |
MONGODB_URI |
(boş) | Boşsa yönetilen MongoDB kullanılır |
GO_API_BASE_URL |
(zorunlu) | Harici Go servisinin adresi |
COMPOSE_PROFILES |
managed-mongo |
Harici MongoDB için boşaltın |
VITE_API_BASE_URL |
(boş) | Docker'da boş: aynı köken kullanılır |
Harici MongoDB kullanımı¶
MONGODB_URI=mongodb://<KULLANICI>:<PAROLA>@<SUNUCU>:27017
COMPOSE_PROFILES=
COMPOSE_PROFILES boşaltıldığında yönetilen MongoDB servisi hiç çalışmaz;
compose yapılandırması yine geçerli kalır.
Sağlık kontrolü¶
Sağlık kontrolü süreç kontrolü değildir — gerçek HTTP yanıtı doğrulanır.
| Ne | Adres | Beklenen |
|---|---|---|
| Backend | http://localhost:8080/health |
200 + data.status == "ok" |
| Frontend (nginx) | http://localhost:8080/__nginx_health |
200 |
| MongoDB | container healthcheck | db.adminCommand('ping').ok |
curl http://localhost:8080/health
nginx şu üç öneki backend'e vekiller: /health, /erp-mapping, /api/.
Diğer tüm yollar SPA'ya düşer (React Router).
Sıkılaştırılmış üretim profili¶
./install.sh --profile prod # Linux
.\install.ps1 -DeployProfile prod # Windows
docker-compose.prod.yml, veritabanı ve backend portlarını dışarıya hiç
açmaz, backend kök dosya sistemini salt okunur yapar ve bellek sınırları
uygular. Tek giriş noktası nginx olur.
Güncelleme ve kaldırma¶
Ayrıntılar için bkz. Kurulum.