docker-compose.yml + docker-compose.override.yml ile çalışır. docker compose up çağrıldığında override otomatik yüklenir — başka flag gerekmez. Tüm altyapı container olarak ayağa kalkar.
Başlatma
up’ta sırasıyla: altyapı (Postgres → Redis → RabbitMQ → Seq → Keycloak) healthcheck’leri geçer, ardından API başlar. API ayağa kalkarken migration’lar otomatik uygulanır (Services:Migration:AutoDeploy = true) ve Keycloak realm/client/user’ları otomatik provision edilir (KeycloakProvisioning:Enabled = true).
API, altyapı servislerinin
condition: service_healthy olmasını bekler (depends_on). Postgres/Redis/RabbitMQ/Keycloak hazır olmadan API başlamaz.Servisler
Postgres, Redis, RabbitMQ ve Keycloak healthcheck taşır. RabbitMQ,
rabbitmq_delayed_message_exchange plugin’i ile gelir (MassTransit delayed redelivery için).
Servis erişim tablosu
Keycloak — iki realm
Provisioning, API başlarken iki dev realm’i otomatik kurar:diyanet-vatandas-dev-realm→ clientdiyanet-website(public + PKCE, token 2 saat)diyanet-yonetim-dev-realm→ clientdiyanet-admin(public + PKCE, token 5 dakika)
appsettings.Development.json → KeycloakProvisioning bölümünden okunur. RunOnce: true olduğu için her başlatmada tekrar tetiklenmez.
Tek servisi yeniden derleme
Sonraki adımlar
Komutlar
Docker / dotnet ef / npm referansı.
Ortam değişkenleri
.env.example doldurma.
Gözlemlenebilirlik
Seq, Prometheus, Grafana, Hangfire.
Stage Docker
Reverse proxy’li dağıtım.