# PROCP — Self-Hosted Kurulum (Docker) · PRC-866

Batteries-included: PHP 8.3-fpm + nginx + queue worker + scheduler + Reverb + Redis + Meilisearch + MariaDB — hepsi tek imajdan/compose'dan. Müşteri ayrıca Redis/queue/cron kurmaz.

## Hızlı başlangıç

```bash
# 1) Ortam dosyası
cp .env.example .env
#    En az doldur: DB_PASSWORD, MEILISEARCH_KEY, REVERB_APP_KEY/SECRET, PROCP_LICENSE_KEY, MAIL_*
#    (Docker'da DB_HOST=mariadb, REDIS_HOST=redis, MEILISEARCH_HOST/REVERB_HOST servis adları — dokunma.)

# 2) Ayağa kaldır (imajı build eder)
docker compose -f docker-compose.prod.yml up -d --build

# 3) Kurulumu bitir
#    Tarayıcıda:  http://SUNUCU-IP/install   (web installer sihirbazı — PRC-867)
#    Sihirbaz: requirements check → lisans key → şirket/URL/currency → admin → migrate+seed → kilitle
```

Kurulum sonrası: **`/admin/system/health`** (PRC-869) yeşil olmalı — queue/scheduler/mail/redis/meili/lisans.

## Roller (tek imaj, command override)
| Servis | Komut | Görev |
|---|---|---|
| `app` | supervisord (php-fpm+nginx) | Web |
| `worker` | `queue:work redis` | Provizyon + mail (olmazsa hizmet açılmaz) |
| `scheduler` | `schedule:work` | Cron: billing/lifecycle/reminder/e-fatura |
| `reverb` | `reverb:start` | WebSocket (canlı chat/realtime) |

## ⚠️ Canlı öncesi kontrol (go-live raporundan)
- **MAIL:** gerçek SMTP/API doldur + email modülünde `test_mode=off` — aksi halde tüm mail sessizce LOG'a gider, müşteri fatura/şifre almaz.
- **Queue worker** çalışıyor olmalı (compose'da `worker` servisi bunu sağlıyor).
- **Ödeme gateway** + **cPanel** canlı smoke (PRC-865).
- Full liste: `docs/GO-LIVE-READINESS-2026-07.md`.

## Güncelleme
```bash
git pull
docker compose -f docker-compose.prod.yml build app
docker compose -f docker-compose.prod.yml up -d
docker compose -f docker-compose.prod.yml exec app php artisan migrate --force
```
(Tek-tık auto-updater PRC-860 Faz 2.)

## Notlar
- TLS: önüne bir reverse proxy (Traefik/Caddy/nginx) veya `APP_PORT`'u 443'e map + sertifika. Reverb için `VITE_REVERB_*` public host/port'u prod domaine göre ayarla.
- Yedek: `procp-db`, `procp-storage` volume'ları. (Remote backup epic PRC-698.)
- `RUN_MIGRATIONS=true` + `APP_INSTALLED=true` ile entrypoint migrate'i otomatikleştirebilir (opsiyonel).
