docker-compose.yml + docker-compose.prod.yml ile çalışır. Mimari stage ile birebir aynıdır (nginx-proxy + acme-companion, path-based routing) — fark prod realm isimleri, prod sertifikaları ve müşterinin mevcut altyapısına bağlanmasıdır.
Başlatma
/ → Website, /admin/ → Admin, /api/* → API, /grafana/ → Grafana.
Müşteri on-prem altyapısı
Prod’da altyapı container olarak çalışmaz; müşterinin mevcut servislerine bağlanılır..env.prod’da host’lar verilir:
Müşteri prod’u tipik olarak Windows Server + mevcut PostgreSQL (CREATE DATABASE yetkili) ve intranet ortamıdır. İntranette Let’s Encrypt çalışmaz (HTTP-01 challenge internet erişimi ister) — bu durumda kurumun kurumsal TLS sertifikası nginx-proxy’nin cert volume’üne mount edilir, acme-companion devre dışı bırakılır.
Sertifika volume backup
nginx-proxy-certs volume’ü Let’s Encrypt sertifikalarını tutar. Yeniden kurulum/taşımada rate-limit’e takılmamak için yedeklenmelidir:
Test kullanıcıları
Observability’i kapatma
Müşteri Prometheus/Grafana istemiyorsa:docker-compose.prod.ymliçindekiprometheus+grafanabloklarını yorumla.appsettings.Production.json’daObservability:Enabled = falseyap.
/health/*) bağımsız çalışmaya devam eder.
Hetzner — çok-proje demo
Tek bir Hetzner VPS üzerinde 3 ayrı proje (Diyanet/Camii, Kurban, Bağış) paylaşımlı infra ile çalışır. Üç ayrı compose dosyası kullanılır:| Stack | Compose | Env |
|---|---|---|
| Platform | docker-compose.platform.yml | .env.platform (sadece LE email) |
| Paylaşımlı infra | docker-compose.shared-infra.yml | .env.infra.prod |
| App (×3) | docker-compose.app.yml | .env.app.{diyanet,kurban,bagis}.prod |
diyanet, kurban, bagis, keycloak), tek Keycloak (6 client), tek Redis/RabbitMQ/Seq. Paylaşımlı platform-nginx-proxy, VIRTUAL_HOST’a göre her container’a vhost üretir.
diyanet.pro (root), kurban.diyanet.pro, bagis.diyanet.pro, sso.diyanet.pro (Keycloak), grafana.diyanet.pro, seq.diyanet.pro. Detaylar HETZNER.md’de.
Sonraki adımlar
Ortam değişkenleri
.env.prod / .env.infra / .env.app kategorileri.
Stage Docker
Aynı mimarinin stage varyantı.
Gözlemlenebilirlik
Prometheus/Grafana opt-out.
Komutlar
Hetzner script referansı.