docker-compose.prod.yml. Beş servis
kalkar ve sıra bilinçlidir:
Migration’ın ayrı bir servis olması yarış önler: üç uygulama aynı anda kalkıp
şemayı aynı anda kurmaya çalışmaz —
migrate bitmeden uygulamalar başlamaz.
Uygulamalar migration bağlantısını değil, RLS’e tabi kısıtlı rolü kullanır.
Adım adım
.env içine taban adresleri ekleyin (banka dönüşleri ve e-posta bağlantıları
bunlara göre üretilir):
:?zorunlu
doğrulaması); uygulamalar da açılışta anahtarları doğrular — üretimde zayıf ya
da eksik anahtarla süreç başlamaz.
Veritabanı rolleri
İlk açılıştadocker/initdb betikleri iki rol kurar:
poyra— tablo sahibi: migration ve Hangfire deposu bunu kullanır.poyra_app— uygulama rolü:SUPERUSER/BYPASSRLSdeğildir, satır düzeyi güvenliğe tabidir ve kritik tablolardaDELETEyetkisi yoktur.
Ters vekil
Üç alan adını üç porta bağlayın; TLS vekilin işidir. Caddy örneği:- Panel Blazor Server’dır: vekilde WebSocket geçişi açık olmalıdır.
/hangfire(arka plan işleri panosu) API host’undadır ve platform anahtarıyla korunur; vekilde tümüyle kapatmak da meşru bir tercihtir.- Sağlık uçları:
GET /health/live(süreç ayakta mı) veGET /health/ready(veritabanına erişebiliyor mu — başarısızsa 503). İzleme ve yük dengeleyici bunlara bakmalıdır.