# De ce deploy-ul local încetinește Listara (și cum eviți)

## Problema (nu e Redis, nu e APP_URL)

| Ce crezi | Realitate |
|----------|-----------|
| „Redis nu merge” | Redis **merge** — dar nu rezolvă problema principală |
| „APP_URL greșit” | `.env` **nu se deploy-ează** (e protejat) — rămâne pe server |
| „APP_NAME” | Nu afectează viteza |

**Cauza reală:** `rsync` copiază codul de pe **Desktop/App Main-Updater** peste producție. Versiunea **locală nu are** optimizările pentru imagini R2/S3.

La fiecare request, `custom_asset()` face **HEAD către Cloudflare R2** (~400 ms × zeci de imagini) → **8–10 secunde**.

Redis + MariaDB sunt OK — **codul PHP** e suprascris la deploy.

---

## Ce se întâmplă la deploy (pas cu pas)

```
1. rsync local → Listara     → suprascrie helpers.php, AppServiceProvider.php (versiune LENTĂ)
2. rsync --delete            → șterge scripturi adăugate doar pe server
3. post-deploy               → permisiuni, nginx
4. optimize:clear + cache:warm
```

**Rezultat:** site rapid → **9 secunde** după deploy.

---

## Fix permanent pe Listara (deja făcut)

Script **în afara** folderului aplicației (nu e șters de rsync):

```bash
/opt/apps/scripts/apply-listara-performance.sh
```

Rulează automat dacă `deploy.conf.listara` (local) conține:

```bash
REMOTE_POST_DEPLOY="bash /opt/apps/main-updater/deploy/linux/post-deploy.sh && bash /opt/apps/scripts/apply-listara-performance.sh"
```

---

## Ce trebuie pe LOCAL (obligatoriu înainte de deploy)

### 1. Sincronizează codul optimizat în proiectul local

```bash
curl -sSL https://listara.online/deploy-kit/pull-cache-optimizations.sh | bash
```

### 2. Actualizează `deploy/deploy.conf.listara` pe local

```bash
REMOTE_POST_DEPLOY="bash /opt/apps/main-updater/deploy/linux/post-deploy.sh && bash /opt/apps/scripts/apply-listara-performance.sh"
```

### 3. Fișiere care TREBUIE să existe în proiectul local

- `app/Helpers/helpers.php` — `listing_s3_skip_exists_check()` + skip în `custom_asset`
- `app/Providers/AppServiceProvider.php` — `_layout_view_shared`
- `app/Services/Media/ListingImageStorage.php`
- `config/cache_optimization.php`
- `deploy/lib/remote-tasks-linux.sh` — apel `apply-listara-performance.sh`
- `deploy/linux/post-deploy.sh`

### 4. `.env` local (template) — nu se copiază pe server

```env
LISTING_S3_SKIP_EXISTS_CHECK=true
APP_DEBUG=false
LOG_LEVEL=warning
CACHE_DRIVER=redis
```

**Nu pune** `APP_DEBUG=true` pe producție.

---

## Verificare după deploy

```bash
ssh root@listara.online 'bash /opt/apps/scripts/apply-listara-performance.sh && cd /opt/apps/main-updater && sudo -u www-data php artisan cache:warm'
curl -w "TTFB=%{time_starttransfer}s\n" -o /dev/null -s https://listara.online/
```

TTFB OK: **< 1 secundă**. Dacă ~9s → rulează din nou scriptul de mai sus.
