Tanık Dokümantasyon

Başlangıç

#Kurulum

Tanık kendi sunucunuzda çalışır. Pilot programında kurulumu birlikte yapıyoruz; bu sayfa adımların tamamını içerir, böylece sonradan yeniden kurabilir ya da ikinci bir ortam açabilirsiniz.

#Gereksinimler

#1. Ayar dosyası

git clone <kurulum-paketi>
cd deploy
cp .env.example .env
chmod 600 .env

.env dosyasında en az şunları doldurun; geri kalanının varsayılanı çalışır:

DeğişkenNe yazacaksınız
MONGO_ROOT_PASSWORD, MONGO_APP_PASSWORDÜretilmiş, uzun parolalar
ADMIN_SESSION_SECRETopenssl rand -base64 48 çıktısı. Boş kalırsa konsol hiç açılmaz; bu güvenli varsayılandır
ANTHROPIC_API_KEY, UPSTREAM_API_KEY (OpenAI), GEMINI_API_KEYKullanacağınız sağlayıcıların anahtarları

Anahtarı .env.example dosyasına değil .env dosyasına yazın. Tanık örnek dosyayı hiç okumaz ve bunu söylemez.

Bütün değişkenlerin açıklaması Ayarlar sayfasındadır.

#2. Ayağa kaldırma

docker compose up -d --build --wait
docker compose ps

İlk derlemede Türkçe isim tespiti modeli (yaklaşık 176 MB) pakete alınır; birkaç dakika sürer. Sonraki derlemeler önbellekten gelir. Çalışma anında hiçbir indirme olmaz.

docker compose ps çıktısında gateway, worker, admin, mongo ve redis için healthy, mongo-provision için exited (0) görmelisiniz. mongo-provision her up komutunda çalışır ve veritabanını bu sürümün beklediği şekle getirir (koleksiyonlar, indeksler, yetkiler); mevcut bir kurulumda hiçbir şeyi değiştirmez.

#3. Sağlık kontrolü

curl -s localhost:8080/readyz

Beklenen alanlar:

AlanBeklenen
status"ok"
dependencies.mongo"ok"
audit_records_rejected0
ner_model_loadedtrue (değilse derin mod serbest metni taramaz)
upstreams_configuredKullanacağınız sağlayıcı için true

#4. İmza anahtarı

Bu adım atlanırsa sistem çalışır, ama kanıt raporu "bu kaydı bağımsız bir üçüncü taraf doğrulayamaz" der. Kurulumda açın:

docker compose exec -T worker \
  node apps/worker/dist/cli/create-signing-key.js --out /var/lib/nev/keys/checkpoint.pem
docker compose up -d worker

Komut yanına bir .pub dosyası da yazar. Denetçiye verilecek dosya odur. Özel anahtar sunucuda kalır ve yedeklenir.

#5. Konsol yöneticisi

Parola komut satırına değil standart girişe yazılır; böylece kabuk geçmişine girmez.

printf '%s' 'GÜÇLÜ-PAROLA' | docker compose exec -T gateway \
  node apps/gateway/dist/cli/create-admin.js --email [email protected]

Konsol http://<sunucu>:5173 adresindedir. Konsolu HTTPS arkasına aldığınızda .env içinde ADMIN_COOKIE_SECURE=true yapın; aksi hâlde tarayıcı oturum çerezini kabul etmez ve giriş başarılı görünüp çalışmaz.

#6. İsteğe bağlı: içerik parmak izi

İki şeyi açar: ilgili kişi başvurularında "şu tam metin buradan geçti mi" sorusuna içerik saklamadan cevap, ve onaya bekletme seçeneği.

docker compose exec -T gateway node apps/gateway/dist/cli/create-fingerprint-keyring.js \
  --out /var/lib/nev/gateway-keys/fingerprint.json --version k1

Sonra .env içinde CONTENT_FINGERPRINT_KEYRING_PATH=/var/lib/nev/gateway-keys/fingerprint.json yazın ve docker compose up -d gateway ile yeniden başlatın.

.env değişiklikleri çalışan konteynere kendiliğinden geçmez. Her değişiklikten sonra ilgili servisi docker compose up -d <servis> ile yeniden başlatın.

#Sonraki adım

İlk istek: bir uygulama anahtarı ve bir sağlayıcı hedefi tanımlayıp ilk isteği geçirin.