Labelixa'yı kendi sunucunuzda çalıştırma: ortam değişkenleri, Docker dağıtımı, özel font tanımlama ve stateless mimari.
Render servisi bilinçli olarak durumsuzdur (stateless): gelen ZPL diske yazılmaz, loglanmaz. Bu, KVKK/GDPR açısından önemlidir ve yatay ölçeklemeyi kolaylaştırır — işçi ya da sunucu sayısını artırmak yeterlidir.
| Değişken | Amaç | Varsayılan |
|---|---|---|
LABELIXA_DB | SQLite veritabanı yolu (hesap/kullanım) | ./labelixa.db |
DATABASE_URL | PostgreSQL bağlantısı (SQLite yerine) | yok |
LABELIXA_FONT | Özel metin fontu (TTF yolu) | sistem DejaVu |
SITE_URL | SEO sayfalarında kanonik alan adı | istek adresinden |
CORS_ORIGINS | İzinli kaynaklar (virgülle) | * (herkes) |
WEB_CONCURRENCY | uvicorn işçi sayısı | 2 |
Depo kök dizinindeki Dockerfile tek imaj üretir:
docker build -t labelixa .
docker run -p 8000:8000 \
-e LABELIXA_DB=/data/labelixa.db \
-e LABELIXA_FONT=/fonts/OzelFont.ttf \
-v $PWD/data:/data -v $PWD/fonts:/fonts labelixaHer ZPL'de fontu yeniden yüklemek yerine LABELIXA_FONT ile sunucu düzeyinde bir TrueType font tanımlayabilirsiniz; tüm render'lar bu fontu kullanır. Alternatif olarak POST /v1/fonts ile fontu ZPL'e gömülü hâle getirebilirsiniz; büyük fontlarda ?chars=... ile yalnızca gereken karakterleri gömerek çıktıyı küçültebilirsiniz (alt kümeleme).
GET /health bileşen durumunu JSON olarak döndürür; /durum ise insan-okur bir durum sayfasıdır. Yük dengeleyici sağlık yoklaması için /health kullanılabilir.