Ana içeriğe geç

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.internal rewrite 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.

İleri okuma