Canlı ortama kurulum
Docker
Bölüm başlığı “Docker”İmaj python:3.13-slim üzerinde iki aşamada derlenir ve yetkisiz bir kullanıcıyla çalışır. Sağlık
denetimi /health adresini çağırır. docker-compose.yml tek sunucu için hazır bir kurulumdur:
export ANPR_PLATE_HMAC_PEPPER="…" # `anpr generate-pepper` çıktısı, gizli değer deponuzda saklıdocker compose up -d --buildCompose, pepper olmadan başlamaz. SQLite veritabanı anpr-data biriminde durur. Etiketlenmiş her
sürüm ayrıca ghcr.io/mftnakrsu/anpr-pipeline adresine bir imaj yayınlar.
Denetim listesi
Bölüm başlığı “Denetim listesi”- Pepper’ı ayarlayın. Gizli değer deponuzdan verin; yeniden başlatmalarda ve makineler arasında aynı kalsın.
- Bir API anahtarı ayarlayın.
ANPR_API_KEYile yalnızca kendi istemcileriniz resim gönderebilir ya da algılamaları okuyabilir. - TLS için önüne bir ters vekil sunucu koyun. HTTPS’i nginx, Caddy, Traefik ya da ingress’iniz sonlandırsın ki anahtar ve resimler ağda açık gitmesin; 8000 portunu doğrudan dışarı açmayın.
- CORS’u daraltın.
ANPR_CORS_ORIGINSdeğerine yalnızca API’yi gerçekten çağıran kaynakları yazın. - Saklama süresini amacınıza göre
ANPR_RETENTION_HOURSile seçin. - Günlükleri JSON yazın (
ANPR_LOG_JSON=true, Compose’da varsayılan), bir günlük toplayıcı okuyorsa.
PostgreSQL
Bölüm başlığı “PostgreSQL”Tek makine için SQLite yeterli. Daha fazlası için PostgreSQL kullanın. Sürücü bağımlılıklar arasında değil, paketin yanına kurun:
pip install anpr-pipeline asyncpgexport ANPR_DATABASE_URL="postgresql+asyncpg://anpr:parola@db:5432/anpr"Tablo yoksa açılışta oluşturulur.
Ekran kartı
Bölüm başlığı “Ekran kartı”OCR modeli, ONNX Runtime’ın CUDA sürümüyle NVIDIA ekran kartında çalışabilir:
pip install "anpr-pipeline[gpu]"export ANPR_DEVICE=cudaANPR_DEVICE=openvino, kuruluysa Intel’in OpenVINO’sunu kullanır. auto hangisi varsa onu seçer.
Bilinmesi gereken sınırlar
Bölüm başlığı “Bilinmesi gereken sınırlar”- Yüklemeler
ANPR_MAX_UPLOAD_MB, akış kareleriANPR_MAX_WS_FRAME_BYTES, ikisi birden deANPR_MAX_IMAGE_PIXELSçözülmüş piksel ile sınırlıdır. Kameralarınızın çözünürlüğü düşükse belleği daha da sınırlamak için bu değerleri düşürün. - Bir servis süreci her modelin bir kopyasını tutar. Çıkarım bir iş parçacığı havuzunda çalışır, bu yüzden tek süreç birden fazla akışa hizmet verir; sınır işlemcidir. Ölçeklemek için kapsayıcı sayısını artırın.
Güvenlik sorunlarını bildirme
Bölüm başlığı “Güvenlik sorunlarını bildirme”Lütfen herkese açık bir issue açmayın. GitHub’da özel bir güvenlik bildirimi kullanın; SECURITY.md dosyasında anlatıldığı gibi.