Skip to content

Commit 4b761ff

Browse files
authored
docsUpdates (#105)
1 parent 182ca5e commit 4b761ff

52 files changed

Lines changed: 859 additions & 265 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,7 @@ yarn-error.log*
2121

2222

2323

24-
/.idea
24+
/.idea
25+
26+
# Claude Code
27+
.claude/worktrees/

docs/API.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,17 @@ import TabItem from '@theme/TabItem';
1313

1414
Stirling PDF exposes a simple API for easy integration with external scripts. You can access the API documentation in two ways:
1515

16-
1. Local Swagger UI at `/swagger-ui/index.html` on your Stirling-PDF instance
16+
1. Local Swagger UI at `/swagger-ui/index.html` on your Stirling PDF instance
1717
2. Online [Swagger Documentation](https://app.swaggerhub.com/apis-docs/Frooodle/Stirling-PDF/)
1818

1919
You can also access the documentation through the settings menu (gear icon in the top-right corner).
2020

2121
## Accessing API Documentation
2222

2323
### Local Swagger UI
24-
Your Stirling-PDF instance includes built-in API documentation:
24+
Your Stirling PDF instance includes built-in API documentation:
2525
1. Navigate to `http://your-instance:port/swagger-ui/index.html`
26-
2. Or append `/swagger-ui/index.html` to your Stirling-PDF URL
26+
2. Or append `/swagger-ui/index.html` to your Stirling PDF URL
2727
3. This provides an interactive documentation interface where you can:
2828
- View all available endpoints
2929
- Test API calls directly
@@ -41,7 +41,7 @@ When security is enabled, all API requests require authentication. There are two
4141

4242
### User-Specific API Keys
4343
1. Obtain your API key:
44-
- Log into Stirling-PDF
44+
- Log into Stirling PDF
4545
- Go to Account Settings (via the gear icon)
4646
- Find your API key in the account details
4747

@@ -67,9 +67,9 @@ This allows you to set a single API key that works regardless of user authentica
6767

6868
## API Limitations
6969

70-
Stirling-PDF's feature set is not entirely confined to the backend, hence not all functionalities are accessible via the API. Certain operations, such as the "view-pdf" or "visually sign", are executed exclusively on the front-end, and as such, they are only available through the Web-UI. If you encounter a situation where some API endpoints appear to be absent, it is likely attributable to these front-end exclusive features.
70+
Stirling PDF's feature set is not entirely confined to the backend, hence not all functionalities are accessible via the API. Certain operations, such as the "view-pdf" or "visually sign", are executed exclusively on the front-end, and as such, they are only available through the Web-UI. If you encounter a situation where some API endpoints appear to be absent, it is likely attributable to these front-end exclusive features.
7171

72-
Stirling-PDF also has statistic and health endpoints to integrate with monitoring/dashboard applications.
72+
Stirling PDF also has statistic and health endpoints to integrate with monitoring/dashboard applications.
7373

7474
## Example CURL Commands
7575

docs/Advanced Configuration/Other Customisations.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import TabItem from '@theme/TabItem';
99
Stirling PDF offers various other customisation options, such as:
1010

1111
### Defaulting Language
12-
Default language selection via the `SYSTEM_DEFAULTLOCALE` environment variable. Accepted values include `de-DE`, `fr-FR`, `ar-AR` and all other languages codes that are within Stirling-PDFs current list.
12+
Default language selection via the `SYSTEM_DEFAULTLOCALE` environment variable. Accepted values include `de-DE`, `fr-FR`, `ar-AR` and all other languages codes that are within Stirling PDFs current list.
1313

1414
### Google Search Visibility (robots.txt)
1515
Enable or disable search engine visibility with the `ALLOW_GOOGLE_VISIBILITY` variable.

docs/Advanced Configuration/PDF to CBR Conversion.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
# Enabling PDF to CBR Conversion in Stirling-PDF
1+
# Enabling PDF to CBR Conversion in Stirling PDF
22

33
## Overview
44

5-
Stirling-PDF can convert PDF files into the Comic Book RAR (`.cbr`) format. This process relies on an external command-line utility, `rar`, which is not included by default. To enable this feature, you must first install the `rar` utility on your system and then make it accessible to Stirling-PDF.
5+
Stirling PDF can convert PDF files into the Comic Book RAR (`.cbr`) format. This process relies on an external command-line utility, `rar`, which is not included by default. To enable this feature, you must first install the `rar` utility on your system and then make it accessible to Stirling PDF.
66

77
### What is a CBR file?
88

99
A CBR (Comic Book RAR) file is an archive used for distributing digital comic books. It is essentially a collection of sequential image files (e.g., JPEG, PNG) compressed into a single file using RAR compression.
1010

11-
While CBR is a popular format, it requires the proprietary `rar` utility for creation. Its more common, open-standard alternative is CBZ (Comic Book ZIP), which is supported by Stirling-PDF out of the box.
11+
While CBR is a popular format, it requires the proprietary `rar` utility for creation. Its more common, open-standard alternative is CBZ (Comic Book ZIP), which is supported by Stirling PDF out of the box.
1212

1313
-----
1414

@@ -63,7 +63,7 @@ sudo yum install rar # For CentOS 7
6363
1. Download the "WinRAR and RAR command line tools" from [rarlab.com/download.htm](https://www.rarlab.com/download.htm).
6464
2. Extract the downloaded archive.
6565
3. Copy the `rar.exe` file to a folder that is included in your system's `PATH` environment variable. A common and reliable location is `C:\Windows\System32`.
66-
4. If Stirling-PDF is already running, restart it to ensure it recognizes the updated `PATH`.
66+
4. If Stirling PDF is already running, restart it to ensure it recognizes the updated `PATH`.
6767
6868
### macOS
6969
@@ -75,13 +75,13 @@ brew install rar
7575
7676
-----
7777
78-
## Step 2: Configure Stirling-PDF
78+
## Step 2: Configure Stirling PDF
7979
8080
After installing `rar` on your host system, follow the appropriate instructions for your environment.
8181
8282
### For Non-Docker Users
8383
84-
If you installed Stirling-PDF directly on your operating system (without Docker), no further configuration is needed. As long as the `rar` command is available in your system's `PATH`, Stirling-PDF will automatically (after restart) detect and use it.
84+
If you installed Stirling PDF directly on your operating system (without Docker), no further configuration is needed. As long as the `rar` command is available in your system's `PATH`, Stirling PDF will automatically (after restart) detect and use it.
8585

8686
### For Docker Users
8787

@@ -117,7 +117,7 @@ The host path must use forward slashes. For example, if you placed `rar.exe` in
117117

118118
## Step 3: Verification
119119

120-
Confirm that Stirling-PDF can access the `rar` command.
120+
Confirm that Stirling PDF can access the `rar` command.
121121

122122
* **For Docker Users:** Execute a command inside the running container.
123123

@@ -150,5 +150,5 @@ RAR is shareware. While it is free to use for personal, non-commercial purposes,
150150
For broader compatibility and to avoid proprietary software, using the **CBZ (Comic Book ZIP)** format is highly recommended.
151151

152152
* CBZ uses the open and universal ZIP standard.
153-
* The **PDF to CBZ** tool is enabled in Stirling-PDF by default and requires no extra software.
153+
* The **PDF to CBZ** tool is enabled in Stirling PDF by default and requires no extra software.
154154
* CBZ is supported by virtually all modern comic book reader applications.

docs/Analytics-and-telemetry.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ Stirling‑PDF uses analytics to understand usage patterns and improve the appli
1919

2020
Stirling‑PDF uses two analytics services:
2121

22-
1. **[Scarf](https://scarf.sh)** a privacy‑friendly tool designed for open‑source projects.
23-
2. **[PostHog](https://posthog.com)** an open‑source product analytics platform for detailed usage insights.
22+
1. **[Scarf](https://scarf.sh)** - a privacy‑friendly tool designed for open‑source projects.
23+
2. **[PostHog](https://posthog.com)** - an open‑source product analytics platform for detailed usage insights.
2424

2525
Both services are designed with privacy in mind and can be completely disabled.
2626

@@ -164,7 +164,7 @@ Controls **all** analytics and whether a consent banner appears.
164164
**Behavior**
165165
- `false`: Disables **all** analytics (no consent banner; PostHog & Scarf are off).
166166
- `true`: Allows analytics (banner still required for user consent before any capture).
167-
- `null`/unset: **First‑run admin choice** on the first ever connection to a self‑hosted instance, the first visitor (assumed admin) is prompted to choose, and that choice sets the global behavior for all users (either disabling analytics or enabling the consent banner for others).
167+
- `null`/unset: **First‑run admin choice** - on the first ever connection to a self‑hosted instance, the first visitor (assumed admin) is prompted to choose, and that choice sets the global behavior for all users (either disabling analytics or enabling the consent banner for others).
168168

169169
### 2) Component toggles
170170

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
---
2+
sidebar_position: 18
3+
title: Audit Logging
4+
tags: [enterprise, management, feature, advanced feature]
5+
---
6+
import Tabs from '@theme/Tabs';
7+
import TabItem from '@theme/TabItem';
8+
9+
# Audit Logging
10+
11+
> **Tier**: Enterprise
12+
13+
Logs every operation, who ran it, what tool, which files, when. All data is stored in the database.
14+
We recommend external database setup when using this feature due to the potential volume.
15+
Please note the data stored is customisable based on you and your organisations needs and legal requirements.
16+
17+
18+
Settings are under `premium.enterpriseFeatures.audit`.
19+
20+
| Setting | Default | Description |
21+
|---|---|---|
22+
| `enabled` | `true` | Turn audit logging on or off |
23+
| `level` | `2` | Verbosity: `0` = off, `1` = basic, `2` = standard, `3` = verbose |
24+
| `retentionDays` | `90` | Days to keep audit records before purging (`0` = infinite retention) |
25+
| `captureFileHash` | `false` | Store a SHA-256 hash of each processed file |
26+
| `capturePdfAuthor` | `false` | Extract and store PDF author metadata |
27+
| `captureOperationResults` | `false` | Store operation return values - high volume, use sparingly |
28+
29+
## Audit levels
30+
31+
| Level | What's recorded |
32+
|---|---|
33+
| `0` - OFF | Nothing |
34+
| `1` - BASIC | File modifications only - PDF operations (compress, split, merge, etc.) and settings changes |
35+
| `2` - STANDARD | BASIC + user actions (login/logout, account changes, general GET requests) |
36+
| `3` - VERBOSE | STANDARD + continuous polling calls and all GET requests |
37+
38+
## Example
39+
40+
<Tabs groupId="config-methods">
41+
<TabItem value="settings" label="Settings File">
42+
```yaml
43+
premium:
44+
enabled: true
45+
key: your-enterprise-license-key
46+
enterpriseFeatures:
47+
audit:
48+
enabled: true
49+
level: 2
50+
retentionDays: 365
51+
captureFileHash: true
52+
capturePdfAuthor: false
53+
captureOperationResults: false
54+
```
55+
</TabItem>
56+
<TabItem value="env" label="Environment Variable">
57+
```bash
58+
PREMIUM_ENABLED=true
59+
PREMIUM_KEY=your-enterprise-license-key
60+
PREMIUM_ENTERPRISEFEATURES_AUDIT_ENABLED=true
61+
PREMIUM_ENTERPRISEFEATURES_AUDIT_LEVEL=2
62+
PREMIUM_ENTERPRISEFEATURES_AUDIT_RETENTIONDAYS=365
63+
PREMIUM_ENTERPRISEFEATURES_AUDIT_CAPTUREFILEHASH=true
64+
PREMIUM_ENTERPRISEFEATURES_AUDIT_CAPTUREPDFAUTHOR=false
65+
PREMIUM_ENTERPRISEFEATURES_AUDIT_CAPTUREOPERATIONRESULTS=false
66+
```
67+
</TabItem>
68+
<TabItem value="docker-compose" label="Docker Compose">
69+
```yaml
70+
services:
71+
stirling-pdf:
72+
image: docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest
73+
environment:
74+
PREMIUM_ENABLED: true
75+
PREMIUM_KEY: your-enterprise-license-key
76+
PREMIUM_ENTERPRISEFEATURES_AUDIT_ENABLED: true
77+
PREMIUM_ENTERPRISEFEATURES_AUDIT_LEVEL: 2
78+
PREMIUM_ENTERPRISEFEATURES_AUDIT_RETENTIONDAYS: 365
79+
PREMIUM_ENTERPRISEFEATURES_AUDIT_CAPTUREFILEHASH: true
80+
```
81+
</TabItem>
82+
</Tabs>
83+
84+
> **Note on performance:** `captureFileHash` adds a SHA-256 calculation for every file processed - noticeable overhead at high volume. `captureOperationResults` stores full operation output in the database and can grow very large; only enable it when specifically needed.

docs/Configuration/Configuration.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
sidebar_position: 0
33
slug: /Configuration
44
title: Configuration Guide
5-
description: Configure Stirling-PDF using environment variables, settings files, or in-app settings
5+
description: Configure Stirling PDF using environment variables, settings files, or in-app settings
66
---
77
import Tabs from '@theme/Tabs';
88
import TabItem from '@theme/TabItem';
99

1010
# Configuration Guide
1111

12-
Stirling-PDF can be configured in three ways, depending on your deployment and preferences.
12+
Stirling PDF can be configured in three ways, depending on your deployment and preferences.
1313

1414
## Configuration Methods
1515

@@ -114,7 +114,7 @@ For more details, see [System and Security Configuration](./System%20and%20Secur
114114

115115
**How language selection works:**
116116

117-
Stirling-PDF determines the interface language using this priority order:
117+
Stirling PDF determines the interface language using this priority order:
118118

119119
1. **User's manual selection** (highest priority)
120120
- When a user clicks the language globe icon and selects a language

0 commit comments

Comments
 (0)