# Günlük işletme

## Günlük kontroller

| Kontrol | Nerede |
|---|---|
| Sunucu ayakta | `curl -s https://lumate.yourcompany.com/health` → `{"status":"ok"}` |
| Çalıştırıcı çevrimiçi | Settings → Runners (yeşil); bir dakikadır hiçbir çalıştırıcı kontrol yapmadıysa kenar çubuğu bir uyarı gösterir |
| WhatsApp bağlı | Settings → WhatsApp |
| Ofis tarayıcısı çevrimiçi | Settings → Browser |
| Başarısız çalışmalar | Inbox → Problems; Dashboard → failures |
| Ne oldu | Activity (insanların ve ajanların yaptığı her şey) |

## Günlükler

- **Sunucu sürümü:** `sudo lumate logs server` (ya da `runner`, `whatsapp`, `caddy`, `updater`). `sudo lumate
  support-bundle` OXS desteği için sürümleri, gizli anahtarsız ayarları ve günlük satırlarını toplar, veriyi asla.
- **Lumate Local:** günlükler klasörü, bkz. [Lumate Local](/tr/docs/install-windows#logs).

| Hizmet | Günlüğü neyi tutar |
|---|---|
| `server` | API, zamanlayıcı, telefon webhook'ları, tarayıcı aktarımı |
| `runner` | Alınan çalışmalar, Claude Code çıktı özetleri |
| `whatsapp` | Bağlantı durumu; mesaj metinleri ya da tam numaralar asla |

Bir ajanın tam çalışması, her araç çağrısı ve sonucuyla birlikte, ajanın **Runs** sekmesinde ya da bir konuşma dizisindeki çalışma etiketinden görülür.

Her hizmet en çok 30 MB kayıt tutar (10 MB'lık üç dosya; en eskisi önce gider), bu yüzden kayıtlar diski doldurmaz.
Sunucu olanları kaydeder, her isteği değil: çalıştırıcının ve açık sayfaların sık yoklamaları satır bırakmaz.

**Bellek.** Sunucu sürümü her hizmete bir sınır koyar: sunucu 2 GB, çalıştırıcı 2 GB, WhatsApp 512 MB, Caddy 256 MB ve
güncelleyici 512 MB; böylece kontrolden çıkan tek bir süreç makineyi ele geçiremez. Aynı anda ikiden fazla çalışma
varsa (`RUNNER_SLOTS`), `/opt/lumate/.env` dosyasında çalıştırıcıya daha fazla verin (`RUNNER_MEMORY=4g`; sunucu için
`SERVER_MEMORY`), sonra `sudo docker compose --project-directory /opt/lumate -f /opt/lumate/compose.yml up -d runner`.

## Yedekler

**Sunucu sürümü** kendini yedekler: her gün, her güncellemeden önce ve istendiğinde (Settings → Backups ya da
`lumate backup`); isterseniz bir bucket'a kopyayla, ve `lumate restore` bir yedeği geri koyar. Bkz.
[Sunucu sürümü](/tr/docs/install-server#backups). Bir yedek, veri kadar boş disk alanı ve üstüne 512 MB ister: daha azıyla
hiçbir şey yazılmadan reddedilir (ve bir güncelleme hiçbir şeyi değiştirmeden bekler), bu yüzden bir yedek diski hiç
doldurmaz. **Lumate Local** günlük yedekleri kendiliğinden tutar, bkz. [Lumate Local](/tr/docs/install-windows#updates-and-backups).

## Güncelleme

**Sunucu sürümü** kanalından kendini günceller (Settings → Updates: bakım penceresinde otomatik kurulumlar ya da Update
now), önce yedekler ve yeni sürüm başlamazsa kendiliğinden geri döner. Kabuktan:
`lumate update`, `lumate update --bundle <offline bundle>`, `lumate rollback`. Bkz.
[Sunucu sürümü](/tr/docs/install-server#updates). **Lumate Local** da kendini günceller, bkz.
[Lumate Local](/tr/docs/install-windows#updates-and-backups).

## Sorun giderme

### Oturum açma ve kurulum

| Belirti | Neden ve çözüm |
|---|---|
| "Too many attempts" | Adres başına dakikada 5 deneme. Bir dakika bekleyin. Bir proxy'nin arkasındaysanız `TRUSTED_PROXIES` ayarlayın, yoksa herkes tek bir sınırı paylaşır. |
| Girişten hemen sonra oturum kapanıyor | Düz HTTP üzerinde `COOKIE_SECURE=true`. HTTPS kullanın ya da yalnızca yerel denemeler için `false` yapın. |
| Kurulum belirteci kayboldu | Sunucu sürümü: `sudo grep SETUP_TOKEN /opt/lumate/.env` |
| Parola unutuldu | Oturum açma sayfasında **Forgot password?**, [e-posta](/tr/docs/email) kurulduktan sonra; aksi halde [komut satırı](/tr/docs/operations#command-line) |

### Lisans

| Belirti | Neden ve çözüm |
|---|---|
| "Lumate is not activated yet" | Yeni bir kurulum: kuran kişi Settings → Licence bölümünde (ya da kurulumun Activate adımında) etkinleştirir. Bkz. [Lisanslama](/tr/docs/licensing). |
| "The 30 days to activate Lumate have ended" | Lisanslamadan önceki bir kurulum zamanında etkinleştirilmedi: etkinleştirin; hiçbir şey kaybolmadı. |
| "Lumate's licence has ended" | Abonelik durdu ya da 14 gündür OXS Cloud'a hiçbir kontrol ulaşmadı. Portalda yenileyin, sonra kilit sayfasında **Check again**. Bu arada Export all data çalışır. |
| "This computer's clock is behind" | Doğru tarihi ve saati ayarlayın; sonraki kontrol (5 dakika içinde) Lumate'in kilidini açar. |
| "Lumate could not reach OXS Cloud for N days" | Sunucu OXS Cloud'a HTTPS ile ulaşamıyor (güvenlik duvarı, proxy, TLS denetimi). Lisans son gününe kadar çalışmaya devam eder; bağlantıyı düzeltin, sonra Settings → Licence → Check now. |
| "This install's licence is in use on another machine" | Bu kurulumun bir kopyası (geri yüklenmiş bir veritabanı) başka yerde çalışıyor. İstemediğinizi devre dışı bırakın (Deactivate); bunu boş bir yerle etkinleştirin. |

### Ajanlar

| Belirti | Neden ve çözüm |
|---|---|
| Ajanlar hiç yanıt vermiyor; "No runner online" | Settings → Runners çalıştırıcının çevrimiçi olup olmadığını ve Claude Code'unun oturum açıp açmadığını gösterir. Sunucu sürümü: `sudo lumate status` ve `sudo lumate logs runner`. |
| Bir çalışma Claude oturum açma hatasıyla başarısız oldu | Claude oturumunun süresi doldu ya da iptal edildi. Yeniden oturum açın: sunucu sürümünde `sudo lumate claude-login`, Settings → Runners içinde yeni bir anahtar ya da belirteç, Lumate Local'da Settings → General → Claude. |
| Bir çalışma kullanım sınırıyla başarısız oldu | Şirketin Claude planı sınırına ulaştı. Sıfırlanmayı bekleyin ya da planı yükseltin. |
| Bir ajan "Working…" durumunda kalıyor | Çalışmanın kirası 2 dakika içinde dolar ve çalışma yeniden kuyruğa girer. Tekrarlanırsa çalıştırıcı günlüğüne bakın. |
| Bir ajan dosyayı yok sayıyor | 25 MB'tan büyük ya da desteklenmeyen türdeki dosyalar yüklemede reddedilir. Ofis dosyaları, çıkarılan metinleri üzerinden okunur. |

### Ses ve telefon

| Belirti | Neden ve çözüm |
|---|---|
| Mikrofon hiçbir şey yapmıyor | Tarayıcı HTTPS ve mikrofon izni ister. `OPENAI_API_KEY` değerinin kayıtlı olduğunu kontrol edin. |
| Gelen aramalar yanıtlanmıyor | OpenAI'deki webhook URL'sini, `OPENAI_WEBHOOK_SECRET` değerini, sunucunun genel adresine HTTPS ile ulaşılabildiğini ve numaranın bir ajanla eklendiğini kontrol edin. |
| "Outbound calling is off" | Bir yönetici Settings → Phone bölümünde hatla birlikte etkinleştirir. |
| Bir arama kapı tarafından reddedildi | Neden hangi kuralın geçerli olduğunu söyler: arama saatleri, do-not-call, izin (onay), deneme sınırları. |
| Asterisk üzerinden tek yönlü ses ya da ses yok | RTP bağlantı noktaları ve `external_media_address`, bkz. [Telefon ve Asterisk](/tr/docs/phone#checking-it) |

### WhatsApp

| Belirti | Neden ve çözüm |
|---|---|
| "WhatsApp is not running on this server" | Sunucu sürümü: `sudo lumate status` `whatsapp` hizmetini gösterir; `sudo lumate logs whatsapp` neden durduğunu söyler. |
| Logged out | Telefon bağlı cihazı kaldırdı ya da yaklaşık iki hafta çevrimdışıydı. Yeniden bağlayın. |
| Replaced | Numara başka bir yerden bağlandı. Yalnızca bir kez, burada yeniden bağlayın. |
| Bir mesaj "waiting (limit)" gösteriyor | Hız sınırları onu tutuyor. Kendiliğinden gider. |

### Ofis tarayıcısı

| Belirti | Neden ve çözüm |
|---|---|
| "This package was already used or is older than 30 minutes" | Yeni bir paket indirin |
| Offline | Bilgisayar uyuyor, Chrome kapalı ya da eklenti kaldırılmış. Chrome'u açık tutun; eklenti kendiliğinden yeniden bağlanır. |
| Kimse bilgisayarı kullanmazken Online ve Offline arasında gidip geliyor | Chrome boştaki bir eklentiyi uyutur. Eklenti her 30 saniyede uyanır ve yeniden bağlanır; o anda gönderilen komut başarısız olur ve ajan yeniden dener. Bilgisayarın uykusunu kapatın. Her dakikanın yaklaşık 30 saniyesi çevrimdışı kalıyorsa, dakikada yalnızca bir kez uyanan eski bir eklentidir: Settings → Browser içinden yeniden indirin. |
| "This site is read-only for agents" | Site izinli listede değil. Ajanların orada çalışması gerekiyorsa Settings → Browser içinde ekleyin. |
| "Slow down: this site's page limit was reached" | Site başına dakikada 12 sayfa yüklemesi. Ajan bekler ve devam eder. |
| Ajan bir sitede oturum açamıyor | Tasarım gereği: bir kişi o Chrome profilinde bir kez oturum açar. |

## Komut satırı

Sunucu sürümünde bunları `/opt/lumate` içinde `sudo` ile çalıştırın:

```bash
docker compose exec server python -m app.cli create-user <username> [--admin]
docker compose exec server python -m app.cli reset-password <username>
docker compose exec server python -m app.cli create-runner-key <company-slug> <name>
```

`reset-password` yeni bir parola belirler ve onu bir kez yazdırır: onunla giriş yapın, sonra Settings → Your account'ta
kendi parolanızı seçin. O kişinin diğer bütün oturumları kapanır. Bir adres için hesabı başkası açmışsa adres sahibine
de böyle döner: parolayı sıfırlayın, gerçek kişiye verin, o da kendi parolasını seçsin.
