# Üretim

> PentAGI'yi bir ekip için çalıştırma — güçlendirme, yalıtım, Podman ve birden fazla örnek.

## [Kontrol Listesi](https://pentagi.com/tr/docs/deployment/production/#checklist)

* İlk başlatmadan önce, `COOKIE_SIGNING_SALT` dahil olmak üzere tüm kimlik bilgilerini ayarlayın — bkz. [Güvenlik](https://pentagi.com/tr/docs/configuration/security/). Yükleyici salt değerini ve hizmet parolalarını oluşturur, ancak Langfuse ve Grafana yönetici parolalarını oluşturmaz: Langfuse ilk kez başlamadan önce şablonda `LANGFUSE_INIT_USER_PASSWORD` ve `password` değerlerini ayarlayın ve Grafana'nın varsayılan `admin` / `admin` bilgisini ilk başlatmasından sonra değiştirin. Çalışan bir kurulumda, `.env` içindeki parolaları değiştirmeden önce PostgreSQL ve Neo4j parolalarını veritabanları içinde değiştirin.
* Gerçek bir sertifika ve kararlı bir `PUBLIC_URL` sunun.
* Bir ters proxy arkasında, `TRUSTED_PROXIES` değerini proxy'nin adresine veya CIDR bloğuna ayarlayın. Aksi takdirde her kullanıcı proxy'nin adresini paylaşır ve 5 dakika içinde 30 başarısız oturum açma denemesi herkesi 15 dakika boyunca kilitleyerek dışarıda bırakır.
* [Tool](https://pentagi.com/tr/docs/glossary/#tool) yürütmelerini özel bir [worker node'a](https://pentagi.com/tr/docs/deployment/worker-node/) taşıyın.
* Maliyetleri ve hataları takip edebilmeniz için [gözlemlenebilirliği](https://pentagi.com/tr/docs/configuration/observability/) etkinleştirin.
* [Knowledge graph](https://pentagi.com/tr/docs/glossary/#knowledge-graph)'ı ve Langfuse'u özel bir ağda tutun.

## [Podman](https://pentagi.com/tr/docs/deployment/production/#podman)

PentAGI, Docker'ın yanı sıra Podman üzerinde de çalışır. Köksüz (rootless) modda, köksüz konteynerler ayrıcalıklı bağlantı noktalarına bağlanamadığından `scraper` hizmeti ek yapılandırma gerektirir; depo README dosyasında hem köksüz hem de köklü (rootful) kurulumlar açıklanmıştır.

## [Birden fazla örnek (`TENANT_ID`)](https://pentagi.com/tr/docs/deployment/production/#several-instances-tenant_id)

Tek bir kurulum için `TENANT_ID` alanını boş bırakın ve mevcut bir kurulumda da boş tutun: Bu değeri daha sonra ayarlamak, örneği varsayılan `admin@pentagi.com` hesabıyla başlayan yeni, boş bir şemaya taşır; bu durumda [flow](https://pentagi.com/tr/docs/glossary/#flow)'lar, kullanıcılar ve ayarlar artık görünmez. Birden fazla PentAGI örneği tek bir PostgreSQL sunucusu, tek bir [worker node](https://pentagi.com/tr/docs/glossary/#worker-node), tek bir Neo4j veya tek bir Langfuse gibi dış kaynakları paylaştığında, eklediğiniz örneklerde bu değeri ayarlayın:

| Alan               | `TENANT_ID=acme` Etkisi                                                 |
| ------------------ | ----------------------------------------------------------------------- |
| PostgreSQL         | `public` yerine `acme` şeması içinde çalışır                            |
| İşçi konteynerleri | `acme-pentagi-terminal-<flow>` olarak adlandırılır                      |
| Knowledge graph    | Grup kimlikleri `acme-flow-<id>` haline gelir                           |
| Kimlik Doğrulama   | Çerez ve belirteç anahtarları [tenant](https://pentagi.com/tr/docs/glossary/#tenant)'ı içerir |
| Telemetri          | Langfuse ve OpenTelemetry verileri tenant ile etiketlenir               |

Değer, `^[a-z][a-z0-9_]{0,31}$` ile eşleşmelidir. Ana bilgisayar kaynakları ad alanına sahip değildir. Bir sunucudaki örneklerin kendi `DATA_DIR` ve yayımlanan bağlantı noktaları olmalıdır. [Sandbox](https://pentagi.com/tr/docs/glossary/#sandbox)'ları aynı Docker host üzerinde, tek bir sunucuda veya paylaşılan bir worker node üzerinde çalışan örneklerin kendi `DOCKER_PORTS_BASE` değerine ve ayarlanmışsa kendi `DOCKER_WORK_DIR` değerine ihtiyacı vardır; aksi takdirde sandbox'ları aynı bağlantı noktalarını talep eder ve flow'lar başlatılamaz. Her taban, varsayılan olarak `28000` olan 2000 bağlantı noktasından oluşan bir aralık başlatır; bu nedenle örneğin `28000` ve `30000` kullanın.