Files
bentopdf/docs/be/self-hosting/vercel.md
T

123 lines
4.8 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.
# Разгортванне на Vercel
[Vercel](https://vercel.com) прапануе самы просты спосаб разгортвання статычных сайтаў.
## Разгортванне адным клікам
[![Разгарнуць з Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/alam00000/bentopdf)
## Ручное разгортванне
### Крок 1: Зрабіце форк рэпазіторыя
Зрабіце форк [bentopdf/bentopdf](https://github.com/alam00000/bentopdf) у свой уліковы запіс GitHub.
### Крок 2: Імпарт у Vercel
1. Перайдзіце на [vercel.com/new](https://vercel.com/new)
2. Выберыце свой форк рэпазіторыя
3. Наладзьце праект:
| Налада | Значэнне |
| ---------------- | --------------- |
| Framework Preset | Vite |
| Build Command | `npm run build` |
| Output Directory | `dist` |
| Install Command | `npm install` |
### Крок 3: Зменныя асяроддзя (неабавязкова)
Дадайце пры неабходнасці:
| Зменная | Апісанне |
| ----------------------- | -------------------------------------------------------------------- |
| `SIMPLE_MODE` | Задайце `true` для мінімальнага інтэрфейсу |
| `VITE_BRAND_NAME` | Уласная назва брэнда (замяняе "BentoPDF") |
| `VITE_BRAND_LOGO` | Шлях да лагатыпа адносна `public/` (напрыклад, `images/my-logo.svg`) |
| `VITE_FOOTER_TEXT` | Уласны тэкст ніжняга калантытула/аўтарскага права |
| `VITE_DEFAULT_LANGUAGE` | Мова інтэрфейсу па змаўчанні (напрыклад, `fr`, `de`, `es`) |
### Крок 4: Разгортванне
Націсніце "Deploy" і пачакайце завяршэння зборкі.
## Уласны дамен
1. Адкрыйце налады праекта
2. Перайдзіце ў "Domains"
3. Дадайце свой дамен
4. Наладзьце DNS паводле інструкцый
## Абмежаванні
::: warning Вялікія файлы
Бессерверныя функцыі Vercel маюць абмежаванне 50MB. Паколькі BentoPDF з'яўляецца статычным сайтам, гэта не павінна вас закрануць, але модулі WASM вялікія (каля 100MB агулам). Пераканайцеся, што яны раздаюцца з папкі `/public`.
:::
## Выпраўленне непаладак
### Перавышэнне часу зборкі
Калі зборка перавышае час чакання, паспрабуйце:
```json
// vercel.json
{
"buildCommand": "npm run build",
"outputDirectory": "dist"
}
```
### 404 пры абнаўленні старонкі
Дадайце `vercel.json` для маршрутызацыі SPA:
```json
{
"rewrites": [{ "source": "/(.*)", "destination": "/index.html" }]
}
```
### Word/ODT/Excel у PDF не працуе
Пераўтварэнні LibreOffice WASM патрабуюць `SharedArrayBuffer`, для чаго на ўсіх старонках патрэбныя такія загалоўкі адказу:
- `Cross-Origin-Embedder-Policy: require-corp`
- `Cross-Origin-Opener-Policy: same-origin`
Папярэдне сціснутым файлам `.wasm.gz` і `.data.gz` таксама патрэбны `Content-Encoding: gzip`, каб браўзер іх распакоўваў.
Дадайце гэта ў свой `vercel.json`:
```json
{
"rewrites": [{ "source": "/(.*)", "destination": "/index.html" }],
"headers": [
{
"source": "/(.*)",
"headers": [
{ "key": "Cross-Origin-Embedder-Policy", "value": "require-corp" },
{ "key": "Cross-Origin-Opener-Policy", "value": "same-origin" },
{ "key": "Cross-Origin-Resource-Policy", "value": "cross-origin" }
]
},
{
"source": "/libreoffice-wasm/soffice.wasm.gz",
"headers": [
{ "key": "Content-Type", "value": "application/wasm" },
{ "key": "Content-Encoding", "value": "gzip" }
]
},
{
"source": "/libreoffice-wasm/soffice.data.gz",
"headers": [
{ "key": "Content-Type", "value": "application/octet-stream" },
{ "key": "Content-Encoding", "value": "gzip" }
]
}
]
}
```
Каб праверыць, адкрыйце кансоль DevTools і выканайце `console.log(window.crossOriginIsolated)`: павінна вярнуцца `true`.