diff --git a/docs/Configuration/Configuration.md b/docs/Configuration/Configuration.md index 5d5b2d13..aeb94f11 100644 --- a/docs/Configuration/Configuration.md +++ b/docs/Configuration/Configuration.md @@ -136,7 +136,7 @@ Stirling PDF determines the interface language using this priority order: To force a specific default language regardless of browser settings, users must manually select it via the language globe icon. -> 💡 **Tip**: Set `SYSTEM_DEFAULTLOCALE` to your organization's primary language. Users can always override it using the language selector in the top-right corner. +> **Tip**: Set `SYSTEM_DEFAULTLOCALE` to your organization's primary language. Users can always override it using the language selector in the top-right corner. ### File Upload Limits diff --git a/docs/Configuration/System and Security.md b/docs/Configuration/System and Security.md index 45ab1d18..aae15b0d 100644 --- a/docs/Configuration/System and Security.md +++ b/docs/Configuration/System and Security.md @@ -136,65 +136,6 @@ java -jar Stirling-PDF.jar --- -## Split Deployment Configuration - -Stirling PDF supports separating frontend and backend for better scalability and deployment flexibility. - -### Deployment Modes - -Configure deployment mode via the `MODE` environment variable: - -| Mode | Description | Use Case | -|------|-------------|----------| -| `BOTH` | Frontend + Backend (default) | Single container deployment | -| `BACKEND` | Backend only | API service, split deployment | -| `FRONTEND` | Frontend only | Static frontend serving | - -### Frontend URL Configuration - -When using split deployment or load balancers, configure the frontend URL for generating links: - -```yaml -system: - frontendUrl: 'https://pdf.example.com' -``` - -**Environment Variable:** -```bash -SYSTEM_FRONTENDURL=https://pdf.example.com -``` - -**Use Cases:** -- Email invite links point to correct frontend -- Download links reference proper URL -- API responses include frontend URLs - -### CORS Configuration - -When frontend and backend are on different domains, enable CORS: - -```yaml -system: - corsAllowedOrigins: - - 'https://pdf.example.com' - - 'https://pdf-staging.example.com' -``` - -**Environment Variable:** -```bash -SYSTEM_CORSALLOWEDORIGINS=https://pdf.example.com,https://pdf-staging.example.com -``` - -**Security Best Practices:** -- Only specify trusted origins -- Never use wildcard (`*`) in production -- Always use HTTPS in production -- Keep list minimal - -**Learn more:** [Security - CORS Configuration](../Functionality/Security#cors-configuration) - ---- - ## Server Certificates Stirling PDF can auto-generate certificates for the "Sign with Stirling PDF" feature. @@ -473,8 +414,6 @@ customFiles/ system: defaultLocale: 'en-US' # Set the default language (e.g. 'de-DE', 'fr-FR', etc) googlevisibility: false # 'true' to allow Google visibility (via robots.txt), 'false' to disallow - corsAllowedOrigins: [] # Add frontend URLs for split deployment - frontendUrl: '' # Set for split deployment serverCertificate: enabled: true organizationName: Stirling-PDF @@ -516,30 +455,10 @@ customFiles/ environment: DISABLE_ADDITIONAL_FEATURES: false SECURITY_ENABLELOGIN: true - SYSTEM_CORSALLOWEDORIGINS: https://pdf.example.com - SYSTEM_FRONTENDURL: https://pdf.example.com SECURITY_JWT_PERSISTENCE: true SYSTEM_SERVERCERTIFICATE_ENABLED: true ``` - - **Backend Container:** - ```yaml - environment: - MODE: BACKEND - DISABLE_ADDITIONAL_FEATURES: false - SECURITY_ENABLELOGIN: true - SYSTEM_CORSALLOWEDORIGINS: https://pdf.example.com - SYSTEM_FRONTENDURL: https://pdf.example.com - ``` - - **Frontend Container:** - ```yaml - environment: - MODE: FRONTEND - VITE_API_BASE_URL: http://backend:8080 - ``` - --- diff --git a/docs/FAQ.md b/docs/FAQ.md index 92207537..0633c4f3 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -108,5 +108,5 @@ To disable authentication in the with-login version: -For more details, see the [System and Security Configuration](./Configuration/System%20and%20Security.md#disabling-login) documentation. +For more details, see the [System and Security Configuration](./Configuration/System%20and%20Security.md#running-without-authentication) documentation. diff --git a/docs/Functionality/Mobile-Scanner.md b/docs/Functionality/Mobile-Scanner.md index bf2b472e..206bec1a 100644 --- a/docs/Functionality/Mobile-Scanner.md +++ b/docs/Functionality/Mobile-Scanner.md @@ -8,7 +8,7 @@ description: Scan documents from your mobile phone and upload them directly to y The Mobile Scanner lets you scan documents using your phone camera and upload them directly to your Stirling PDF instance. Generate a QR code on your desktop, scan it with your phone, and your photos are transferred automatically - no cables, no cloud services, no manual file handling. -Depending on your [server settings](/Configuration/Mobile-Scanner), uploaded images can be automatically converted to PDF with configurable page format, resolution, and scaling options. +Depending on your [server settings](../Configuration/Mobile-Scanner.md), uploaded images can be automatically converted to PDF with configurable page format, resolution, and scaling options. ## How It Works @@ -28,4 +28,4 @@ Depending on your [server settings](/Configuration/Mobile-Scanner), uploaded ima ## Configuration -See [Mobile Scanner Configuration](/Configuration/Mobile-Scanner) for enable/disable and PDF conversion settings. +See [Mobile Scanner Configuration](../Configuration/Mobile-Scanner.md) for enable/disable and PDF conversion settings. diff --git a/docs/Functionality/Multi-Tool.md b/docs/Functionality/Multi-Tool.md index f02ee9a5..020932ca 100644 --- a/docs/Functionality/Multi-Tool.md +++ b/docs/Functionality/Multi-Tool.md @@ -11,7 +11,7 @@ description: Visual page editor for PDF manipulation Multi-Tool is Stirling PDF's visual page editor. Upload PDFs and manipulate pages directly - rotate, reorder, delete, split, and insert pages or files. -:::tip V2.0 Feature +:::tip Multi-Tool uses browser file storage so you can upload files once and work with them without re-uploading. ::: diff --git a/docs/Functionality/Read-and-Annotate.md b/docs/Functionality/Read-and-Annotate.md index cb84a5ed..faa4c841 100644 --- a/docs/Functionality/Read-and-Annotate.md +++ b/docs/Functionality/Read-and-Annotate.md @@ -11,7 +11,7 @@ description: Interactive PDF viewer with annotation tools for reading and markup Interactive PDF viewer and annotation system. Read PDFs directly in your browser while adding comments, highlights, drawings, shapes, and other markup. -:::tip V2.0 Feature +:::tip Built with **[EmbedPDF](https://www.embedpdf.com/)**, an advanced open-source PDF viewer with full support for PDF annotation standards. ::: diff --git a/docs/Functionality/Security/Certificate-Signing.md b/docs/Functionality/Security/Certificate-Signing.md index f88cf281..c33ccd26 100644 --- a/docs/Functionality/Security/Certificate-Signing.md +++ b/docs/Functionality/Security/Certificate-Signing.md @@ -267,6 +267,6 @@ Ensure `SYSTEM_SERVERCERTIFICATE_ENABLED=true` is set. Check logs with `docker l ## Related -- [System and Security Settings](../../Configuration/System%20and%20Security#signature-validation) +- [System and Security Settings](../../Configuration/System%20and%20Security.md#signature-validation) - [Sign (Handwritten)](./Sign.md) -- [Settings Changes (V2)](../../Migration/Settings-Changes#pdf-signature-validation) +- [Settings Changes](../../Migration/Settings-Changes.md#pdf-signature-validation) diff --git a/docs/Migration/Breaking-Changes.md b/docs/Migration/Breaking-Changes.md index eac00888..60540cdf 100644 --- a/docs/Migration/Breaking-Changes.md +++ b/docs/Migration/Breaking-Changes.md @@ -715,7 +715,7 @@ WARN: Unknown configuration key: premium.proFeatures.googleDrive **Symptom:** Custom navbar/homepage not appearing. -**Solution:** Template system removed. Use in-app settings or custom CSS instead. See [Template Customization](#-template-customization-system-removed). +**Solution:** Template system removed. Use in-app settings or custom CSS instead. --- diff --git a/docs/Migration/New-Features.md b/docs/Migration/New-Features.md index 6ac5cabe..22e4d35e 100644 --- a/docs/Migration/New-Features.md +++ b/docs/Migration/New-Features.md @@ -134,72 +134,6 @@ After installation: --- -## 🔀 Split Deployment Architecture - -**NEW:** Deploy frontend and backend separately for better scalability. - -### What's New - -Three deployment modes: - -#### 1. Unified Mode (Default) -Single container with frontend + backend together. - -```bash -docker run -d \ - -p 8080:8080 \ - stirlingtools/stirling-pdf:latest -``` - -#### 2. Split Mode -Frontend and backend in separate containers. - -**Backend:** -```bash -docker run -d \ - -e MODE=BACKEND \ - -p 8081:8080 \ - stirlingtools/stirling-pdf:latest -``` - -**Frontend:** -```bash -docker run -d \ - -e MODE=FRONTEND \ - -e VITE_API_BASE_URL=http://backend:8080 \ - -p 8080:8080 \ - stirlingtools/stirling-pdf:latest -``` - -#### 3. Backend-Only Mode -Use as API-only service. - -```bash -docker run -d \ - -e MODE=BACKEND \ - -p 8080:8080 \ - stirlingtools/stirling-pdf:latest -``` - -### Benefits - -- **Independent Scaling:** Scale frontend and backend separately -- **CDN Integration:** Serve static frontend from CDN -- **Development:** Work on frontend without running backend -- **Security:** Separate concerns, different security zones - -### CORS Configuration - -New settings for split deployment: - -```yaml -system: - corsAllowedOrigins: ['https://pdf.example.com'] - frontendUrl: 'https://pdf.example.com' -``` - -**Learn More:** [Docker Installation - Split Mode](../Installation/Docker%20Install#split-deployment-advanced-users) - --- ## ⌨️ Custom Keyboard Shortcuts @@ -692,7 +626,6 @@ ui: - ✉️ **Email Invitations** - Streamlined user onboarding - ⌨️ **Custom Keyboard Shortcuts** - Quick tool access - 🔄 **Enhanced Session Management** - Better token management with rotation -- 🏗️ **Split Deployment** - Scale frontend and backend independently --- diff --git a/docs/Migration/Settings-Changes.md b/docs/Migration/Settings-Changes.md index b82d20a9..ade50397 100644 --- a/docs/Migration/Settings-Changes.md +++ b/docs/Migration/Settings-Changes.md @@ -66,33 +66,6 @@ system: --- -### Split Deployment Support - -**New settings added:** - -```yaml -system: - corsAllowedOrigins: [] # NEW in V2 - frontendUrl: '' # NEW in V2 -``` - -**What it does:** -- `corsAllowedOrigins`: Allow frontend from different origin -- `frontendUrl`: Base URL for generating invite links - -**Migration:** Leave empty for unified deployment (default). - -**Example split deployment:** -```yaml -system: - corsAllowedOrigins: ['https://pdf.example.com'] - frontendUrl: 'https://pdf.example.com' -``` - -**Learn more:** [Docker Installation - Split Mode](../Installation/Docker%20Install#split-deployment-advanced-users) - ---- - ### Enhanced JWT Configuration **Changed settings:** @@ -265,8 +238,6 @@ Use this checklist when upgrading your `settings.yml`: - [ ] **Add `ui.logoStyle: classic`** if you want to explicitly set logo - [ ] **Configure `security.validation`** if you need custom signature validation - [ ] **Set `system.serverCertificate`** options if needed -- [ ] **Add `system.corsAllowedOrigins`** if using split deployment -- [ ] **Set `system.frontendUrl`** if using split deployment - [ ] **Enable `mail.enableInvites`** if you want email invitations --- @@ -289,10 +260,6 @@ SYSTEM_SERVERCERTIFICATE_ENABLED=true SYSTEM_SERVERCERTIFICATE_ORGANIZATIONNAME="My Company" SYSTEM_SERVERCERTIFICATE_VALIDITY=365 -# Split deployment -SYSTEM_CORSALLOWEDORIGINS=https://pdf.example.com -SYSTEM_FRONTENDURL=https://pdf.example.com - # JWT SECURITY_JWT_PERSISTENCE=true SECURITY_JWT_ENABLEKEYROTATION=true diff --git a/docs/Server-Admin-Onboarding.md b/docs/Server-Admin-Onboarding.md index 4b91f344..7c40d816 100644 --- a/docs/Server-Admin-Onboarding.md +++ b/docs/Server-Admin-Onboarding.md @@ -879,14 +879,6 @@ System Settings: CORS Allowed Origins: https://pdf.yourcompany.com ``` -**Environment variable (if using split deployment):** -```yaml -environment: - - VITE_API_BASE_URL=https://pdf.yourcompany.com - - SYSTEM_ROOTURIPATH=/ - - SECURITY_CSRFDISABLED=false -``` - --- ## Step 6: User Management @@ -1390,7 +1382,6 @@ system: ``` **Consider:** -- Split deployment (separate frontend/backend) - Load balancer for multiple instances - Database on separate server @@ -1424,12 +1415,10 @@ system: ``` **Architecture:** -- Split deployment (separate frontend/backend) -- Multiple backend instances for processing +- Multiple instances for processing - Load balancer with session affinity - Dedicated database server - Redis for session storage -- CDN for frontend assets :::tip Server/Enterprise Recommended For large organizations, **Server or Enterprise plans** provide: