İçeriğe atla
PentAGI
Yapılandırma

Güvenlik

Bir PentAGI kurulumunun kimlik bilgileri, HTTPS, oturum açma ve ağa açıklığı.

Varsayılanları değiştirin

Yeni bir kurulum, admin parolasıyla [email protected] yerel yöneticisini oluşturur; bu parola ilk oturum açmada değiştirilmelidir. Parola kaybolursa, hesap hâlâ [email protected] adresini kullanıyorsa yükleyicinin bakım menüsü parolayı sıfırlar.

İlk başlatmadan önce .env dosyasındaki bu değerleri ayarlayın; yükleyici salt ve parolaları sizin için oluşturur. PostgreSQL ve Neo4j, kimlik bilgilerini yalnızca veri birimlerini oluştururken alır, bu nedenle bunları daha sonra değiştirmek bağlantıyı bozar:

DeğişkenAmaç
COOKIE_SIGNING_SALTOturum çerezlerini ve API belirteçlerini imzalar — rastgele bir değer atayın
PENTAGI_POSTGRES_USER, PENTAGI_POSTGRES_PASSWORDPostgreSQL kimlik bilgileri
NEO4J_PASSWORDKnowledge graph için Neo4j parolası; NEO4J_USER neo4j olarak kalmalıdır
PUBLIC_URLKullanıcıların açacağı URL, örneğin https://pentagi.example.com

Çalışan bir kurulumda, önce PostgreSQL veya Neo4j içinde bir veritabanı parolasını değiştirin, ardından .env içinde değiştirin.

HTTPS

PentAGI, 8443 portunda kendinden imzalı bir sertifikayla HTTPS hizmeti sunar. Kendi sertifikanızı kullanmak için SERVER_SSL_CRT ve SERVER_SSL_KEY değişkenlerini ayarlayın ve ilgili dosyaları docker-compose.yml içinde bağlayın.

Kullanıcılar ve oturum açma

Kayıt formu bulunmamaktadır. Yöneticiler yerel kullanıcıları, oturum açmış bir tarayıcı oturumundan Users API (/api/v1/users/) üzerinden yönetir — burada bir API token'ı 403 hatası alır — ve roller her kullanıcının neleri görebileceğini ve değiştirebileceğini kısıtlar. Yerel kullanıcılar e-posta ve şifrelerini Settings → Account altında değiştirir.

GitHub veya Google ile oturum açma yapılandırıldığında, sağlayıcı tarafından doğrulanan e-posta adresi mevcut bir hesapla (yerel hesaplar dahil) eşleşen bir oturum açma işlemi, o hesaba ve rolüne giriş yapar; diğer tüm oturum açma işlemleri varsayılan kullanıcı rolüne sahip yeni bir hesap oluşturur. Her kurulum [email protected] yöneticisi ile başlar, bu nedenle oturum açmayı etkinleştirmeden önce Settings → Account altında kontrolünüzdeki bir adrese taşıyın ve bunu yalnızca yeni hesapların kabul edilebilir olduğu durumlarda, örneğin alan adınızla sınırlı bir Google Workspace uygulamasında etkinleştirin.

GitHub ve Google ile oturum açma OAuth üzerinden kullanılabilir. ${PUBLIC_URL}/api/v1/auth/login-callback geri çağırma adresiyle bir uygulama kaydedin ve kimlik bilgilerini ekleyin:

PUBLIC_URL=https://pentagi.example.com
OAUTH_GITHUB_CLIENT_ID=your_github_client_id
OAUTH_GITHUB_CLIENT_SECRET=your_github_client_secret

Ağ erişilebilirliği

Varsayılan olarak PentAGI web arayüzü yalnızca 127.0.0.1 üzerinde dinler. Diğer makinelerden erişmek için:

PENTAGI_LISTEN_IP=0.0.0.0
PENTAGI_LISTEN_PORT=8443
PUBLIC_URL=https://192.168.1.100:8443
CORS_ORIGINS=https://localhost:8443,https://192.168.1.100:8443

PUBLIC_URL ve CORS_ORIGINS içinde gerçek adresi kullanın, asla 0.0.0.0 kullanmayın. Konteynerleri docker compose up -d --force-recreate komutuyla yeniden oluşturun ve güvenlik duvarında 8443 portunu açın.

Bir ters proxy arkasında, TRUSTED_PROXIES değerini virgülle ayrılmış şekilde proxy’nin adresine veya CIDR bloğuna ayarlayın. Aksi takdirde her istek proxy’den geliyormuş gibi görünür ve adres başına oturum açma sınırı — beş dakika içinde 30 başarısız deneme, ardından 15 dakikalık kilitlenme — tüm kullanıcılar tarafından paylaşılır.

Her flow'un sandbox konteyneri ayrıca ters kabuklar gibi bant dışı geri aramalar için iki bağlantı noktası yayımlar. Bunlar, DOCKER_PORTS_BASE adresinden başlayan (varsayılan 28000) 2000 bağlantı noktasından gelir ve agent'ların hedeflere de geri arama yapmaları için verdiği adres olan DOCKER_PUBLIC_IP adresine bağlanır.

Varsayılan olarak DOCKER_PUBLIC_IP, 0.0.0.0 şeklindedir: portlar Docker ana bilgisayarının her arayüzünde dinleme yapar ve agent'lar genel adreslerini kendileri bulur. Ana bilgisayar bu adrese sahipse ve hedefler buna erişebiliyorsa yalnızca belirli bir adres ayarlayın; NAT arkasında varsayılanı koruyun. Docker'ın yayınladığı portlar ana bilgisayardaki ufw ve firewalld kurallarını atladığından, aralığı ana bilgisayarın önündeki bir güvenlik duvarı (örneğin bir bulut güvenlik grubu) veya Docker'ın DOCKER-USER zincirindeki kurallarla kısıtlayın.

PROXY_URL, arka ucun model sağlayıcılarına, yerleştirme sağlayıcısına, arama API'lerine ve güncelleme denetimine yönelik çağrılarını bir vekil sunucu üzerinden yönlendirir; bu, kurulumu harici ağlardan izole etmeye yardımcı olur. Ollama, vLLM veya SearXNG gibi kendi kendine barındırılan uç noktalar da bunun üzerinden geçer; çünkü NO_PROXY istisnası yoktur, dolayısıyla vekil sunucunun bunlara erişebilmesi gerekir. Agent'ların komutlarını çalıştırdığı flow'ların sandbox kapsayıcıları, tarayıcı aracı için web sayfalarını açan kazıyıcı ve Graphiti hizmeti bunu kullanmaz; bu nedenle giden trafiğini ağ düzeyinde kısıtlayın. GitHub veya Google ile oturum açma ve paketlenmiş yığınların dışındaki bir Langfuse ya da OpenTelemetry uç noktasına yapılan çağrılar da bunu kullanmaz; Docker daemon ise görüntüleri kendi vekil sunucu ayarlarıyla çeker.

Güncelleme denetimi

Sunucu, başlatıldıktan sonraki iki dakika içinde ve ardından her üç saatte bir update.pentagi.com adresine daha yeni bir yapının mevcut olup olmadığını sorar. İstek; kurulum kimliğini, ayarlanmışsa lisans anahtarını, sürümü ve platformu ile kurulumun bir özetini taşır: yapılandırılmış provider ve oturum açma türleri, birkaç özellik anahtarı, kullanıcı, flow, task, kapsayıcı, prompt, API token ve tool call sayıları ile provider türü başına token ve maliyet toplamları — isimler, adresler, prompt veya flow içeriği yer almaz. UPDATE_CHECK_INTERVAL=0 bunu kapatır. Yükleyici her başladığında ve Apply Changes, Update, Start veya Stop gibi çalıştırdığı her eylemden sonra, yüklü imajları ve her yığının durumunu gönderir; PentAGI çalışırken aynı özeti de ekler. UPDATE_CHECK_INTERVAL bunu etkilemez.

pentagi konteyneri, Docker soketi aracılığıyla konteynerleri yönettiği için root olarak çalışır. Daha güçlü bir yalıtım için tools'u ayrı bir worker node'da çalıştırın.

Son güncelleme tarihi: