Ubuntu Docker Kurulumu¶
Ayrı Dağıtım Türü
Docker, yerel systemd servisinden ayrı bir dağıtım türüdür. Yerel Linux üretim yolu: Ubuntu Yerel Kurulum.
ÖNERİLEN DOCKER PRODUCTION
Önceden üretilmiş offline OCI image arşivi + harici / mevcut MongoDB.
Müşteri sunucusu: Go yok, Git yok, kaynak yok, registry yok, internet yok, docker build yok, docker pull yok.
Docker Engine + Compose host önkoşuludur (pakette yoktur).
Bundled MongoDB yalnızca development / lab / opsiyonel legacy’dir; üretim önerisi değildir.
Bu offline image modeli için Live E2E: RETEST REQUIRED. Bkz. Docker E2E.
Önkoşullar (üretim sunucusu)¶
- Ubuntu 24.04 amd64
- Docker Engine (kurulu ve çalışıyor)
- Docker Compose v2 eklentisi (
docker compose) sudo/ root- Erişilebilir harici MongoDB (bu paket kurmaz)
Docker yoksa kurulum fail-closed olur ve Docker’ı indirmez/kurmaz:
text
Docker Engine is not installed.
Install the supported Docker runtime before deploying IQV Integration API.
Development / CI → müşteri paketi¶
text
kaynak + Go + Docker build
↓
değişmez OCI image
↓
docker image arşivi
↓
offline release paketi
↓
Ubuntu müşteri sunucusu (yalnızca Docker Engine + Compose)
↓
API container → harici MongoDB
Development/CI makinesinde:
bash
./scripts/release/build-docker-linux.sh
./scripts/release/package-docker-linux.sh
Üretim paketi varsayılan olarak temiz working tree ister. Geliştirme: --allow-dirty.
Offline üretim kurulumu¶
MongoDB paketle birlikte gelmez. Müşteri MongoDB host’unu ve veritabanı adını kullanın.
bash
sudo ./scripts/install.sh \
--external-mongodb \
--mongo-uri "mongodb://<MONGODB_HOST>:27017" \
--mongo-database champion \
--integration-actor-user-id "GERCEK_KULLANICI_OBJECT_ID" \
--host-port 4242 \
--container-port 4242 \
--public-base-url "http://<API_HOST>:4242"
- MongoDB URI olduğu gibi kullanılır;
host.docker.internalrewrite yoktur. - Actor ID mevcut ve aktif bir kullanıcı ObjectID’si olmalıdır. Rastgele ID üretilmez.
- Mevcut runtime env korunur.
- Secret ve actor ObjectID yazdırılmaz.
Güncelleme / rollback / durum / kaldırma¶
bash
sudo ./scripts/update.sh
sudo ./scripts/status.sh
sudo ./scripts/uninstall.sh
Aynı image digest → NO-OP. Health FAIL → önceki immutable image geri yüklenir. Database rollback: NOT PERFORMED.
Varsayılan uninstall image/env/log/metadata korur. Harici MongoDB hiçbir durumda silinmez.
Opsiyonel auto-update¶
Varsayılan: kapalı. Auto-update git pull değildir; doğrulanmış release artifact kullanır ve update.sh akışını yeniden kullanır.
AUTO_UPDATE_ENABLED=false iken ağ isteği yapılmaz. Manuel offline paket güncellemesi her zaman çalışır.
Lab-only bundled MongoDB¶
Depodaki MongoDB’li compose dosyaları development/lab/opsiyonel legacy’dir; üretim paketine dahil değildir.