Files
bentopdf/docs/tr/self-hosting/netlify.md
T

140 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Netlify'a Dağıtım
[Netlify](https://netlify.com), cömert bir ücretsiz katmanla mükemmel statik site barındırma sunar.
## Tek Tıkla Dağıtım
[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/alam00000/bentopdf)
## Elle Dağıtım
### Adım 1: Depoyu Bağlayın
1. [Netlify](https://app.netlify.com)'a giriş yapın
2. "Add new site" → "Import an existing project" seçeneğine tıklayın
3. GitHub hesabınızı bağlayın
4. BentoPDF fork'unuzu seçin
### Adım 2: Derleme Ayarlarını Yapılandırın
| Ayar | Değer |
| -------------- | --------------- |
| Derleme komutu | `npm run build` |
| Yayın dizini | `dist` |
| Node sürümü | 18+ |
### Adım 3: Dağıtın
"Deploy site"a tıklayın ve derlemenin bitmesini bekleyin.
## Yapılandırma Dosyası
Proje kök dizininizde `netlify.toml` oluşturun:
```toml
[build]
command = "npm run build"
publish = "dist"
[build.environment]
NODE_VERSION = "18"
# Required security headers for SharedArrayBuffer (used by LibreOffice WASM)
[[headers]]
for = "/*"
[headers.values]
Cross-Origin-Embedder-Policy = "require-corp"
Cross-Origin-Opener-Policy = "same-origin"
Cross-Origin-Resource-Policy = "cross-origin"
# Pre-compressed LibreOffice WASM binary - must be served with Content-Encoding
[[headers]]
for = "/libreoffice-wasm/soffice.wasm.gz"
[headers.values]
Content-Type = "application/wasm"
Content-Encoding = "gzip"
Cache-Control = "public, max-age=31536000, immutable"
# Pre-compressed LibreOffice WASM data - must be served with Content-Encoding
[[headers]]
for = "/libreoffice-wasm/soffice.data.gz"
[headers.values]
Content-Type = "application/octet-stream"
Content-Encoding = "gzip"
Cache-Control = "public, max-age=31536000, immutable"
# Cache other WASM files
[[headers]]
for = "*.wasm"
[headers.values]
Cache-Control = "public, max-age=31536000, immutable"
Content-Type = "application/wasm"
# SPA routing
[[redirects]]
from = "/*"
to = "/index.html"
status = 200
```
::: warning Önemli
`Cross-Origin-Embedder-Policy` ve `Cross-Origin-Opener-Policy` başlıkları Word/ODT/Excel/PowerPoint'ten PDF'ye dönüştürmeler için gereklidir. Bunlar olmadan `SharedArrayBuffer` kullanılamaz ve LibreOffice WASM motoru başlatılamaz.
`.wasm.gz` ve `.data.gz` dosyalarındaki `Content-Encoding: gzip` başlıkları, tarayıcıya bunları otomatik olarak açmasını söyler. Bunlar olmadan tarayıcı ham gzip baytlarını alır ve WASM derlemesi başarısız olur.
:::
## Ortam Değişkenleri
Bunları Site settings → Environment variables bölümünde ayarlayın:
| Değişken | Açıklama |
| ----------------------- | ------------------------------------------------------------- |
| `SIMPLE_MODE` | Asgari derleme için `true` yapın |
| `VITE_BRAND_NAME` | Özel marka adı ("BentoPDF" yerine geçer) |
| `VITE_BRAND_LOGO` | `public/` dizinine göre logo yolu (örn. `images/my-logo.svg`) |
| `VITE_FOOTER_TEXT` | Özel alt bilgi/telif hakkı metni |
| `VITE_DEFAULT_LANGUAGE` | Varsayılan arayüz dili (örn. `fr`, `de`, `es`) |
## Özel Alan Adı
1. Site settings → Domain management bölümüne gidin
2. "Add custom domain"e tıklayın
3. DNS yapılandırma yönergelerini izleyin
## Büyük Medya
Büyük WASM dosyaları için [Netlify Large Media](https://docs.netlify.com/large-media/overview/) özelliğini etkinleştirmeyi düşünebilirsiniz:
```bash
netlify lm:setup
git lfs track "*.wasm"
```
## Sorun Giderme
### Word/ODT/Excel'den PDF'ye Dönüştürme %55'te Takılıyor
Belge dönüştürmeleri %55'te takılırsa DevTools Konsolu'nu açıp şunları kontrol edin:
```js
console.log(window.crossOriginIsolated); // should be true
console.log(typeof SharedArrayBuffer); // should be "function"
```
`crossOriginIsolated` değeri `false` ise, `netlify.toml` dosyanızdaki COEP/COOP başlıkları uygulanmıyor demektir. Dosyanın proje kök dizininizde olduğundan emin olun ve yeniden dağıtın.
Konsolda `expected magic word 00 61 73 6d, found 1f 8b 08 08` görüyorsanız, `.wasm.gz` dosyalarında `Content-Encoding: gzip` başlıkları eksiktir. `soffice.wasm.gz` ve `soffice.data.gz` için `[[headers]]` bloklarının `netlify.toml` dosyanızda olduğundan emin olun.
### Derleme Başarısız Oluyor
Node sürümü uyumluluğunu kontrol edin:
```toml
[build.environment]
NODE_VERSION = "20"
```
### Yavaş İlk Yükleme
Site settings → Build & deploy → Asset optimization bölümünde varlık optimizasyonunu etkinleştirin.