Files
bentopdf/docs/sk/self-hosting/index.md
T

26 KiB

Príručka pre vlastný hosting

BentoPDF môžete hostovať na vlastnej infraštruktúre. Táto príručka pokrýva rôzne možnosti nasadenia.

Rýchly štart s Docker / Podman

Najrýchlejší spôsob, ako hostovať BentoPDF vo vlastnej réžii:

Tip

BentoPDF sa dodáva v dvoch zostaveniach:

  • Zostavenie Self-Hosted: ghcr.io/alam00000/bentopdf-simple:latest. Všetky PDF nástroje, bez marketingových prvkov (bez úvodnej sekcie, FAQ, referencií a päty). Použite ho pre interné, tímové a organizačné nasadenia. Nie je to funkčne obmedzená verzia „lite“.
  • Komerčné zostavenie: ghcr.io/alam00000/bentopdf:latest. Kompletný marketingový web, ktorý používa samotný bentopdf.com a držitelia komerčnej licencie pri verejných nasadeniach.

Ak si nie ste istí, stiahnite zostavenie Self-Hosted.

Important

Konverzia súborov Office vyžaduje SharedArrayBuffer, čo znamená, že aplikácia musí byť izolovaná z hľadiska cross-origin a zároveň poskytovaná zo zabezpečeného kontextu. Oficiálny obraz už posiela potrebné hlavičky COOP/COEP, prehliadače však SharedArrayBuffer stále vypínajú na obyčajných HTTP pôvodoch v lokálnej sieti, ako je http://192.168.x.x.

http://localhost používajte len na testovanie na tom istom zariadení. Ak používatelia pristupujú k BentoPDF cez IP adresu alebo názov hostiteľa v LAN, zabezpečte ho cez HTTPS.

# Docker
docker run -d -p 3000:8080 ghcr.io/alam00000/bentopdf-simple:latest

# Podman
podman run -d -p 3000:8080 ghcr.io/alam00000/bentopdf-simple:latest

Alebo pomocou Docker Compose / Podman Compose:

# docker-compose.yml
services:
  bentopdf:
    image: ghcr.io/alam00000/bentopdf-simple:latest
    ports:
      - '3000:8080'
    restart: unless-stopped
# Docker Compose
docker compose up -d

# Podman Compose
podman-compose up -d

Podman Quadlet (Linux Systemd)

Spustite BentoPDF ako službu systemd. Vytvorte ~/.config/containers/systemd/bentopdf.container:

[Container]
Image=ghcr.io/alam00000/bentopdf-simple:latest
ContainerName=bentopdf
PublishPort=3000:8080
AutoUpdate=registry

[Service]
Restart=always

[Install]
WantedBy=default.target
systemctl --user daemon-reload
systemctl --user enable --now bentopdf

Kompletnú dokumentáciu ku Quadlet nájdete v príručke nasadenia Docker.

Zostavenie zo zdrojového kódu

# Clone and build
git clone https://github.com/alam00000/bentopdf.git
cd bentopdf
npm install
npm run build

# The built files are in the `dist` folder

Možnosti konfigurácie

Zostavenie Self-Hosted (Simple Mode)

Zostavenie Self-Hosted (obraz bentopdf-simple, nazývaný aj Simple Mode) je funkčne identické s komerčným zostavením: obsahuje všetky PDF nástroje a tie sa správajú rovnako. Iba skrýva marketingové prvky, ktoré dávajú zmysel len na samotnom bentopdf.com alebo pri komerčnom verejnom nasadení. Nie je to funkčne obmedzená ani „lite“ verzia.

Čo zostavenie Self-Hosted skrýva (len kozmetické zmeny, žiadne PDF funkcie sa neodstraňujú):

  • Navigačnú lištu, úvodnú sekciu, sekciu funkcií, FAQ, referencie, pätu
  • Mení titulok stránky na „Nástroje PDF“

Čo zostavenie Self-Hosted zachováva (všetko, čo skutočne pracuje s PDF):

  • Všetky PDF nástroje (spájanie, rozdeľovanie, úpravy, podpisovanie, OCR, konverzia Office atď.)
  • Podporu vlastnej značky, všetku konfiguráciu pri zostavení aj za behu

Komerčné zostavenie (ghcr.io/alam00000/bentopdf:latest) poháňa samotný bentopdf.com a používajú ho držitelia komerčnej licencie pri verejných nasadeniach. Pridáva úvodnú sekciu, FAQ, referencie a pätu, ktoré by pri internom nástroji nedávali zmysel.

Ak hostujete BentoPDF pre svoj tím, organizáciu alebo ako interný nástroj, stiahnite zostavenie Self-Hosted:

# Use the pre-built image (recommended)
docker run -p 3000:8080 ghcr.io/alam00000/bentopdf-simple:latest

# Or build it yourself
SIMPLE_MODE=true npm run build

Všetky podrobnosti nájdete v SIMPLE_MODE.md.

Komerčné zostavenie (verejné nasadenia pod vlastnou značkou)

Komerčné zostavenie (obraz bentopdf, bez prípony -simple) poháňa samotný bentopdf.com. Okrem všetkých PDF nástrojov obsahuje kompletný marketingový web (úvodná sekcia, funkcie, FAQ, referencie, päta). Toto zostavenie použite, keď chcete nasadiť BentoPDF ako verejnú PDF službu pod vlastnou značkou, napríklad:

  • Prevádzkujete BentoPDF ako hostovanú SaaS službu pre koncových používateľov na vlastnej doméne
  • Chcete zážitok úvodnej stránky (marketingové sekcie + nástroje), nie len samotné nástroje
  • Ste držiteľom komerčnej licencie a integrujete BentoPDF do komerčného produktu

Spustenie bez úprav (so značkou BentoPDF, užitočné na náhľad zostavenia):

docker run -p 3000:8080 ghcr.io/alam00000/bentopdf:latest

Zostavenie s vlastnou značkou (typický komerčný postup):

docker build \
  --build-arg VITE_BRAND_NAME="AcmePDF" \
  --build-arg VITE_BRAND_LOGO="images/acme-logo.svg" \
  --build-arg VITE_FOOTER_TEXT="© 2026 Acme Corp. All rights reserved." \
  -t acmepdf .

docker run -p 3000:8080 acmepdf

Všetky ostatné možnosti pri zostavení (BASE_URL, VITE_DEFAULT_LANGUAGE, DISABLE_TOOLS, prepísanie URL pre WASM atď.) fungujú rovnako ako pri zostavení Self-Hosted.

::: warning Licencovanie Prevádzka komerčného zostavenia je povolená v rámci ktorejkoľvek z dvoch licenčných možností BentoPDF:

  • AGPL-3.0 (zadarmo): povolené, ak vaše nasadenie zverejní celý svoj zdrojový kód pod AGPL vrátane všetkých úprav značky a súvisiacej obchodnej logiky.
  • Komerčná licencia (79 $ doživotne): potrebná pre uzavreté / proprietárne nasadenia, kde nezverejňujete svoj fork so značkou ani obchodný kód.

Úplné porovnanie nájdete na stránke licencovania. WASM moduly pod licenciou AGPL (PyMuPDF, Ghostscript, CoherentPDF) sa načítavajú z CDN za behu, takže sa nedostanú do vášho obrazu a nemenia vašu licenčnú pozíciu. :::

Základná URL

Nasadenie do podadresára:

BASE_URL=/pdf-tools/ npm run build

Vlastná značka

Pri zostavení nahraďte predvolené logo, názov a text päty BentoPDF vlastnými:

Premenná Popis Predvolené
VITE_BRAND_NAME Názov značky v hlavičke a päte BentoPDF
VITE_BRAND_LOGO Cesta k logu relatívne k public/ images/favicon-no-bg.svg
VITE_FOOTER_TEXT Vlastný text päty / autorských práv © 2026 BentoPDF. All rights reserved.
# Place your logo in public/, then build
VITE_BRAND_NAME="AcmePDF" \
VITE_BRAND_LOGO="images/acme-logo.svg" \
VITE_FOOTER_TEXT="© 2026 Acme Corp. Internal use only." \
npm run build

Alebo cez Docker:

docker build \
  --build-arg VITE_BRAND_NAME="AcmePDF" \
  --build-arg VITE_BRAND_LOGO="images/acme-logo.svg" \
  --build-arg VITE_FOOTER_TEXT="© 2026 Acme Corp. Internal use only." \
  -t acmepdf .

Vlastná značka funguje v plnom režime aj v Simple Mode a dá sa kombinovať so všetkými ostatnými možnosťami pri zostavení (BASE_URL, SIMPLE_MODE, VITE_DEFAULT_LANGUAGE).

Vypnutie konkrétnych nástrojov

Skryte jednotlivé nástroje z dôvodu súladu s predpismi alebo bezpečnosti. Vypnuté nástroje sa odstránia z domovskej stránky, vyhľadávania, skratiek, nástroja na tvorbu workflow aj z priameho prístupu cez URL.

ID nástroja je URL stránky bez .html: otvorte ľubovoľný nástroj a pozrite sa na URL (napr. edit-pdf, sign-pdf, encrypt-pdf).

Pri zostavení (zapečené do balíka):

DISABLE_TOOLS="edit-pdf,sign-pdf" npm run build

Za behu (bez nového zostavenia, stačí pripojiť config.json):

{
  "disabledTools": ["edit-pdf", "sign-pdf"]
}
docker run -d -p 3000:8080 \
  -v ./config.json:/usr/share/nginx/html/config.json:ro \
  ghcr.io/alam00000/bentopdf-simple:latest

Obe metódy sa dajú kombinovať, zoznamy sa zlúčia.

V PDF editore môžete vypnúť aj konkrétne funkcie (napr. redigovanie) bez vypnutia celého nástroja, a to pridaním editorDisabledCategories do config.json. Úplný zoznam kategórií nájdete v príručke Docker.

Príručky nasadenia

Vyberte si platformu:

Časté problémy

Konverzia Word / ODT / Excel / PowerPoint do PDF zamrzne (SharedArrayBuffer nie je dostupný)

Príznak: Konverzie dokumentov založené na LibreOffice (Word, ODT, Excel, PowerPoint do PDF) zamrznú na ~55 % alebo sa vôbec nespustia. Konzola prehliadača môže zobraziť:

ReferenceError: SharedArrayBuffer is not defined

…alebo window.crossOriginIsolated hlási false, alebo kompilácia WASM hlási expected magic word 00 61 73 6d, found 1f 8b 08 08.

Príčina: LibreOffice WASM vyžaduje SharedArrayBuffer, ktorý prehliadač povolí, len keď je stránka izolovaná z hľadiska cross-origin A ZÁROVEŇ poskytovaná zo zabezpečeného kontextu. Musia teda platiť dve veci:

  1. Každá odpoveď obsahuje obe hlavičky:
    • Cross-Origin-Embedder-Policy: require-corp
    • Cross-Origin-Opener-Policy: same-origin
  2. Stránka sa poskytuje z https://... alebo http://localhost. Obyčajné HTTP na IP adrese v LAN (napr. http://192.168.x.x) sa NEPOVAŽUJE za zabezpečené, prehliadače tam SharedArrayBuffer vypínajú.

Nezhoda 00 61 73 6d / 1f 8b 08 08 je samostatný čiastkový príznak: vopred skomprimovaným súborom .wasm.gz / .data.gz chýba hlavička odpovede Content-Encoding: gzip, takže prehliadač dostane surové gzip bajty namiesto dekomprimovaného WASM.

Riešenie: presnú konfiguráciu nájdete v príručke nasadenia pre vašu platformu:

Overenie: otvorte konzolu DevTools na ľubovoľnej stránke BentoPDF a spustite:

console.log(window.crossOriginIsolated); // should be true
console.log(typeof SharedArrayBuffer); // should be "function"

Ak je stránka na HTTPS alebo http://localhost A ZÁROVEŇ sú na každej odpovedi prítomné obe hlavičky COEP/COOP, obe kontroly prejdú. Ak ste na http://192.168.x.x alebo inom HTTP pôvode mimo loopback, zabezpečte ho cez HTTPS, riešenie len pomocou hlavičiek neexistuje.

Súbory .mjs sa poskytujú ako application/octet-stream

Príznak: Podpísať PDF / Vyplňovač formulárov / niektoré ďalšie nástroje zobrazia prázdny prehliadač alebo sa nenačítajú. Konzola prehliadača hlási:

Failed to load module script: The server responded with a non-JavaScript MIME type of "application/octet-stream". Strict MIME type checking is enforced for module scripts per HTML spec.

Príčina: Váš webový server alebo reverzný proxy nemá mapovanie MIME typu pre súbory .mjs (pribalený PDF prehliadač dodáva ES moduly s touto príponou). Mnohé štandardné konfigurácie serverov používajú pre neznáme prípony predvolene application/octet-stream a prehliadače ich odmietnu spustiť ako ES moduly.

Riešenie: presný úryvok nájdete v príručke nasadenia pre vašu platformu:

Overenie: otvorte DevTools → kartu Network, nájdite zlyhávajúcu požiadavku .mjs a skontrolujte hlavičku odpovede Content-Type. Mala by byť application/javascript. Ak je stále application/octet-stream, typ môže znova určovať vonkajší reverzný proxy alebo CDN, skontrolujte každú vrstvu v reťazci.

Konfigurácia WASM (komponenty AGPL)

BentoPDF nepribaľuje knižnice na spracovanie pod licenciou AGPL do svojho zdrojového kódu, ale má predkonfigurované URL adresy CDN, takže všetky funkcie fungujú hneď po inštalácii, bez ručného nastavovania.

::: tip Predvolene bez konfigurácie Od verzie v2.0.0 sú WASM moduly predkonfigurované tak, aby sa načítavali z CDN jsDelivr cez premenné prostredia. Všetky pokročilé funkcie fungujú okamžite bez akejkoľvek konfigurácie zo strany používateľa. :::

Komponent Licencia Funkcie
PyMuPDF AGPL-3.0 Konverzia EPUB/MOBI/FB2/XPS, extrakcia obrázkov, extrakcia tabuliek
Ghostscript AGPL-3.0 Konverzia do PDF/A, kompresia, vyrovnanie, rasterizácia
CoherentPDF AGPL-3.0 Obsah, prílohy, spájanie PDF so záložkami

Predvolené premenné prostredia

Sú nastavené v .env.production a zapečené do zostavenia:

VITE_WASM_PYMUPDF_URL=https://cdn.jsdelivr.net/npm/@bentopdf/[email protected]/
VITE_WASM_GS_URL=https://cdn.jsdelivr.net/npm/@bentopdf/[email protected]/assets/
VITE_WASM_CPDF_URL=https://cdn.jsdelivr.net/npm/[email protected]/dist/
VITE_TESSERACT_WORKER_URL=
VITE_TESSERACT_CORE_URL=
VITE_TESSERACT_LANG_URL=
VITE_TESSERACT_AVAILABLE_LANGUAGES=
VITE_OCR_FONT_BASE_URL=

Prepísanie URL adries WASM

Pre vlastné nasadenia môžete predvolené hodnoty prepísať pri zostavení:

# Via Docker build args
docker build \
  --build-arg VITE_WASM_PYMUPDF_URL=https://your-server.com/pymupdf/ \
  --build-arg VITE_WASM_GS_URL=https://your-server.com/gs/ \
  --build-arg VITE_WASM_CPDF_URL=https://your-server.com/cpdf/ \
  --build-arg VITE_TESSERACT_WORKER_URL=https://your-server.com/ocr/worker.min.js \
  --build-arg VITE_TESSERACT_CORE_URL=https://your-server.com/ocr/core \
  --build-arg VITE_TESSERACT_LANG_URL=https://your-server.com/ocr/lang-data \
  --build-arg VITE_TESSERACT_AVAILABLE_LANGUAGES=eng,deu \
  --build-arg VITE_OCR_FONT_BASE_URL=https://your-server.com/ocr/fonts \
  -t bentopdf .

# Or via .env.production before building from source
VITE_WASM_PYMUPDF_URL=https://your-server.com/pymupdf/ npm run build

Ak chcete modul úplne vypnúť (vyžaduje ručnú konfiguráciu používateľom v Pokročilých nastaveniach), nastavte jeho premennú na prázdny reťazec.

Pre OCR buď nechajte všetky premenné VITE_TESSERACT_* prázdne a ponechajte predvolené online zdroje, alebo nastavte URL pre worker/core/lang spolu pre vlastné hostované / offline OCR. Ak pribalíte len konkrétne jazyky OCR, nastavte aj VITE_TESSERACT_AVAILABLE_LANGUAGES na rovnaké kódy oddelené čiarkami, aby rozhranie ponúkalo len nainštalované jazyky a nepodporovaný výber zlyhal s popisnou chybou. Pre úplne offline výstup prehľadávateľného PDF nastavte aj VITE_OCR_FONT_BASE_URL na interný adresár, ktorý poskytuje pribalené OCR písma.

Používatelia môžu tieto predvolené hodnoty kedykoľvek prepísať aj v Pokročilých nastaveniach v rozhraní: používateľské nastavenia uložené v prehliadači majú prednosť pred predvolenými hodnotami prostredia.

Nasadenie v izolovanej sieti (air-gapped) / offline

Pre siete bez prístupu na internet (štátna správa, zdravotníctvo, financie atď.). URL adresy WASM sa zapečú do JavaScriptu pri zostavení, samotné WASM súbory sťahuje prehliadač používateľa za behu. Preto musíte všetko pripraviť na počítači s internetom a potom to preniesť do izolovanej siete.

Automatizovaný skript (odporúčané)

Priložený skript prepare-airgap.sh automatizuje celý proces: stiahne WASM balíky, zostaví Docker obraz a vytvorí samostatný balík s inštalačným skriptom.

git clone https://github.com/alam00000/bentopdf.git
cd bentopdf

# Show supported OCR language codes (for --ocr-languages)
bash scripts/prepare-airgap.sh --list-ocr-languages

# Search OCR language codes by name or abbreviation
bash scripts/prepare-airgap.sh --search-ocr-language german

# Interactive mode — prompts for all options
bash scripts/prepare-airgap.sh

# Or fully automated
bash scripts/prepare-airgap.sh --wasm-base-url https://internal.example.com/wasm

Vznikne adresár s balíkom:

bentopdf-airgap-bundle/
  bentopdf.tar              # Docker image
  *.tgz                     # WASM packages (PyMuPDF, Ghostscript, CoherentPDF, Tesseract)
  tesseract-langdata/       # OCR traineddata files
  ocr-fonts/                # OCR text-layer font files
  setup.sh                  # Setup script for the air-gapped side
  README.md                 # Instructions

Preneste balík do izolovanej siete cez USB, interný repozitár artefaktov alebo schválenou metódou. Potom spustite priložený inštalačný skript:

cd bentopdf-airgap-bundle
bash setup.sh

Inštalačný skript načíta Docker obraz, rozbalí WASM súbory a voliteľne spustí kontajner.

Možnosti skriptu:

Prepínač Popis Predvolené
--wasm-base-url <url> Kde budú WASM súbory interne hostované (povinné, ak chýba, vyžiada sa)
--image-name <name> Tag Docker obrazu bentopdf
--output-dir <path> Výstupný adresár balíka ./bentopdf-airgap-bundle
--simple-mode Zapnúť Simple Mode vypnuté
--base-url <path> Základná URL podadresára (napr. /pdf/) /
--language <code> Predvolený jazyk rozhrania (napr. fr, de) (žiadne)
--brand-name <name> Vlastný názov značky (žiadne)
--brand-logo <path> Cesta k logu relatívne k public/ (žiadne)
--footer-text <text> Vlastný text päty (žiadne)
--ocr-languages <list> Jazyky OCR na pribalenie, oddelené čiarkami eng
--list-ocr-languages Vypíše podporované kódy a názvy OCR a skončí vypnuté
--search-ocr-language <term> Vyhľadá kódy OCR podľa názvu alebo skratky vypnuté
--dockerfile <path> Použitý Dockerfile Dockerfile
--skip-docker Preskočiť zostavenie a export Docker obrazu vypnuté
--skip-wasm Preskočiť sťahovanie WASM (použiť existujúce .tgz) vypnuté

Interaktívna výzva prijíma aj list na vypísanie celého zoznamu podporovaných kódov Tesseract a search <term> na hľadanie zhôd, napríklad search german alebo search chi.

::: warning Požiadavka na rovnaký pôvod WASM súbory musia byť poskytované z rovnakého pôvodu ako aplikácia BentoPDF. Web Workers používajú importScripts(), ktorý nedokáže načítať skripty z iného pôvodu. Ak napríklad BentoPDF beží na https://internal.example.com, základná URL pre WASM by mala byť tiež https://internal.example.com/wasm. :::

Ručný postup

Ak to chcete urobiť ručne bez skriptu

Krok 1: Stiahnite balíky WASM a OCR (na počítači s internetom)

npm pack @bentopdf/[email protected]
npm pack @bentopdf/gs-wasm
npm pack coherentpdf
npm pack [email protected]
npm pack [email protected]
mkdir -p tesseract-langdata
curl -fsSL https://cdn.jsdelivr.net/npm/@tesseract.js-data/eng/4.0.0_best_int/eng.traineddata.gz -o tesseract-langdata/eng.traineddata.gz
mkdir -p ocr-fonts
curl -fsSL https://raw.githack.com/googlefonts/noto-fonts/main/hinted/ttf/NotoSans/NotoSans-Regular.ttf -o ocr-fonts/NotoSans-Regular.ttf

Krok 2: Zostavte Docker obraz s internými URL adresami

git clone https://github.com/alam00000/bentopdf.git
cd bentopdf

docker build \
  --build-arg VITE_WASM_PYMUPDF_URL=https://internal-server.example.com/wasm/pymupdf/ \
  --build-arg VITE_WASM_GS_URL=https://internal-server.example.com/wasm/gs/ \
  --build-arg VITE_WASM_CPDF_URL=https://internal-server.example.com/wasm/cpdf/ \
  --build-arg VITE_TESSERACT_WORKER_URL=https://internal-server.example.com/wasm/ocr/worker.min.js \
  --build-arg VITE_TESSERACT_CORE_URL=https://internal-server.example.com/wasm/ocr/core \
  --build-arg VITE_TESSERACT_LANG_URL=https://internal-server.example.com/wasm/ocr/lang-data \
  --build-arg VITE_OCR_FONT_BASE_URL=https://internal-server.example.com/wasm/ocr/fonts \
  -t bentopdf .

Krok 3: Exportujte Docker obraz

docker save bentopdf -o bentopdf.tar

Krok 4: Preneste súbory do izolovanej siete

Skopírujte cez USB, interný repozitár artefaktov alebo schválenou metódou prenosu:

  • bentopdf.tar: Docker obraz
  • Päť balíkov WASM/OCR .tgz z kroku 1
  • Adresár tesseract-langdata/ z kroku 1
  • Adresár ocr-fonts/ z kroku 1

Krok 5: Nastavenie v izolovanej sieti

# Load the Docker image
docker load -i bentopdf.tar

# Extract WASM packages
mkdir -p ./wasm/pymupdf ./wasm/gs ./wasm/cpdf ./wasm/ocr/core ./wasm/ocr/lang-data ./wasm/ocr/fonts
tar xzf bentopdf-pymupdf-wasm-0.11.14.tgz -C ./wasm/pymupdf --strip-components=1
tar xzf bentopdf-gs-wasm-*.tgz -C ./wasm/gs --strip-components=1
tar xzf coherentpdf-*.tgz -C ./wasm/cpdf --strip-components=1
TEMP_TESS=$(mktemp -d)
tar xzf tesseract.js-7.0.0.tgz -C "$TEMP_TESS"
cp "$TEMP_TESS/package/dist/worker.min.js" ./wasm/ocr/worker.min.js
rm -rf "$TEMP_TESS"
tar xzf tesseract.js-core-7.0.0.tgz -C ./wasm/ocr/core --strip-components=1
cp ./tesseract-langdata/*.traineddata.gz ./wasm/ocr/lang-data/
cp ./ocr-fonts/* ./wasm/ocr/fonts/

# Run BentoPDF
docker run -d -p 3000:8080 --restart unless-stopped bentopdf

Uistite sa, že súbory sú dostupné na URL adresách nastavených v kroku 2 vrátane .../ocr/worker.min.js, .../ocr/core, .../ocr/lang-data a .../ocr/fonts.

::: info Zostavujete zo zdrojového kódu namiesto Docker? Pred spustením npm run build nastavte premenné v .env.production:

VITE_WASM_PYMUPDF_URL=https://internal-server.example.com/wasm/pymupdf/
VITE_WASM_GS_URL=https://internal-server.example.com/wasm/gs/
VITE_WASM_CPDF_URL=https://internal-server.example.com/wasm/cpdf/
VITE_TESSERACT_WORKER_URL=https://internal-server.example.com/wasm/ocr/worker.min.js
VITE_TESSERACT_CORE_URL=https://internal-server.example.com/wasm/ocr/core
VITE_TESSERACT_LANG_URL=https://internal-server.example.com/wasm/ocr/lang-data
VITE_OCR_FONT_BASE_URL=https://internal-server.example.com/wasm/ocr/fonts

:::

Hostovanie vlastného WASM proxy

Ak potrebujete poskytovať AGPL WASM súbory so správnymi hlavičkami CORS, môžete nasadiť jednoduchý proxy. Príklad implementácie nájdete v príručke Cloudflare WASM Proxy.

::: tip Prečo oddelene? Toto oddelenie zaručuje:

  • Jasný súlad s licenciami pre komerčných používateľov
  • Jadro BentoPDF zostáva pod duálnou licenciou (AGPL-3.0 / komerčná)
  • WASM súbory sa načítavajú za behu, nie sú pribalené v zdrojovom kóde :::

Systémové požiadavky

Požiadavka Minimum
Úložisko ~100 MB (jadro bez modulov AGPL)
RAM 512 MB
CPU Akýkoľvek moderný procesor

::: tip BentoPDF je statický web, nepotrebuje žiadnu databázu ani backendový server! :::