Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion docs/Analytics-and-telemetry.md
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,6 @@ system:

**Docker Compose example**
```yaml
version: '3.8'
services:
stirling-pdf:
environment:
Expand Down
2 changes: 1 addition & 1 deletion docs/Configuration/Single Sign-On Configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ for Google and GitHub can be found [here](https://developers.google.com/identity
[here](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes)
- `security.oauth2.provider`: The name of the Provider

The Callback URL (Redirect URL) for entering in your IdP is: `https://<striling-pdf.yourdomain>/login/oauth2/code/<oidc-provider>` eg `https://<striling-pdf.yourdomain>/login/oauth2/code/keycloak`.
The Callback URL (Redirect URL) for entering in your IdP is: `https://<striling-pdf.yourdomain>/login/oauth2/code/<oidc-provider>` eg `https://<striling-pdf.yourdomain>/login/oauth2/code/keycloak`. If you previously used a bare `/login/oauth2/code/` callback, make sure you now include the provider slug (for example, Authentik uses `/login/oauth2/code/authentik`).
It is highly recommended to use an SSL-enabled reverse-proxy, if the application is going to be exposed to the internet.

After the OAuth 2 login is enabled, a new button will show up on the login page as per the screenshot below. Clicking the
Expand Down
17 changes: 10 additions & 7 deletions docs/Configuration/System and Security.md
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@ If migrating from V1, note these setting name changes:

## Email Configuration

Configure SMTP for sending email invitations and notifications.
Configure SMTP for sending email invitations and notifications. Enable `mail.enableInvites` to allow invitation links.

### Email Invites

Expand All @@ -291,7 +291,8 @@ Enable email-based user invitations:
```yaml
mail:
enabled: true
enableInvites: true # Enable email invitations
from: [email protected]
enableInvites: true
smtp:
host: smtp.example.com
port: 587
Expand All @@ -304,16 +305,18 @@ mail:
**Environment Variables:**
```bash
MAIL_ENABLED=true
[email protected]
MAIL_ENABLEINVITES=true
MAIL_SMTP_HOST=smtp.gmail.com
MAIL_SMTP_PORT=587
MAIL_SMTP_USERNAME[email protected]
MAIL_SMTP_PASSWORD=your-app-password
MAIL_SMTP_TLS_ENABLED=true
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME[email protected]
MAIL_PASSWORD=your-app-password
MAIL_TLS_ENABLED=true
```

**Requirements:**
- `mail.enabled: true`
- `mail.enableInvites: true` for invitation flows
- `security.enableLogin: true`
- Valid SMTP configuration
- `system.frontendUrl` configured (for invite links)
Expand Down
4 changes: 4 additions & 0 deletions docs/FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,7 @@ All endpoints provide the same functionality.

No, we track no data without your explicit consent. You can see how, when, and why at our [Analytics and Telemetry](./analytics-telemetry) page.

### Q9: When I upload a file, where is it processed?

Uploads go to the server or desktop instance you're using, not to Stirling servers. The macOS/Windows desktop apps process files locally—even when you pick the Stirling Cloud sign-in today—so your PDFs stay on your device unless you point the app to a remote self-hosted server. Planned SaaS-assisted features (for desktop app) will be opt-in when they arrive.

3 changes: 0 additions & 3 deletions docs/Installation/Docker Install.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ docker run -d \
Create `docker-compose.yml`:

```yaml
version: '3.3'
services:
stirling-pdf:
image: stirlingtools/stirling-pdf:latest
Expand Down Expand Up @@ -163,7 +162,6 @@ docker run -d \
Create `docker-compose.yml`:

```yaml
version: '3.3'
services:
stirling-pdf:
image: stirlingtools/stirling-pdf:latest
Expand Down Expand Up @@ -208,7 +206,6 @@ Want to scale frontend and backend independently? Use this:
Create `docker-compose.yml`:

```yaml
version: '3.3'
services:
# Backend - PDF processing engine
stirling-backend:
Expand Down
15 changes: 7 additions & 8 deletions docs/Installation/Mac.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,12 @@ Stirling PDF for Mac is available as a **native desktop application** or can run
### What You Get

- ✅ **Native macOS application** - Optimized for both Apple Silicon and Intel Macs
- ✅ **Open PDFs directly** - Double-click any PDF to open in Stirling-PDF
- ✅ **Works completely offline** - No internet required after installation
- ✅ **Sign in to start** - Choose Stirling Cloud or your self-hosted server on launch (required before using tools)
- ✅ **Processes files locally after login** - Most tools run offline once signed in
- ✅ **Stirling Cloud login is offline-only today** - SaaS sign-in keeps processing on your Mac; optional cloud assists for advanced tasks are planned for a future release
- ✅ **All features included** - Every PDF tool available
- ✅ **Better performance** - Native speed on M1/M2/M3 chips
- ✅ **No browser needed** - Standalone application
- ✅ **No external browser needed** - Uses the built-in window
- ✅ **Menu bar integration** - Feels like a native Mac app

### Installation Steps
Expand Down Expand Up @@ -62,11 +63,9 @@ The app will now open normally every time!

### Using the Desktop App

**Opening PDFs:**
- **Double-click any PDF file** - Opens in Stirling-PDF
- **Right-click → Open With → Stirling-PDF**
- **Drag and drop** files into the application
- **File → Open** from the menu bar
1. Launch Stirling-PDF
2. Sign in with your Stirling Cloud account or enter the URL for your self-hosted server.
3. After login, use the in-app interface to upload or drag-and-drop files into the window.

**Making Stirling-PDF your default PDF viewer:**
1. Right-click (or Control+click) any PDF file
Expand Down
12 changes: 7 additions & 5 deletions docs/Migration/New-Features.md
Original file line number Diff line number Diff line change
Expand Up @@ -595,7 +595,7 @@ security:
```yaml
mail:
enabled: true
enableInvites: true # NEW in V2
from: [email protected]
smtp:
host: smtp.example.com
port: 587
Expand Down Expand Up @@ -627,11 +627,13 @@ mail:

```bash
MAIL_ENABLED=true
[email protected]
MAIL_ENABLEINVITES=true
MAIL_SMTP_HOST=smtp.gmail.com
MAIL_SMTP_PORT=587
[email protected]
MAIL_SMTP_PASSWORD=your-app-password
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=your-app-password
MAIL_TLS_ENABLED=true
```

---
Expand Down
3 changes: 2 additions & 1 deletion docs/Migration/Settings-Changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,8 @@ SECURITY_JWT_PERSISTENCE=true
SECURITY_JWT_ENABLEKEYROTATION=true
SECURITY_JWT_ENABLEKEYCLEANUP=true

# Email invites
# Email configuration
[email protected]
MAIL_ENABLEINVITES=true

# Logo
Expand Down
13 changes: 7 additions & 6 deletions docs/Server-Admin-Onboarding.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,6 @@ cd ~/stirling-pdf
Create `docker-compose.yml` with this production-ready configuration:

```yaml
version: '3.3'

services:
stirling-pdf:
Expand Down Expand Up @@ -488,6 +487,7 @@ If you configure email, admins can send invitation links instead.
```yaml
mail:
enabled: true
from: [email protected]
enableInvites: true
smtp:
host: smtp.gmail.com
Expand All @@ -503,12 +503,13 @@ mail:

```bash
MAIL_ENABLED=true
[email protected]
MAIL_ENABLEINVITES=true
MAIL_SMTP_HOST=smtp.gmail.com
MAIL_SMTP_PORT=587
MAIL_SMTP_USERNAME[email protected]
MAIL_SMTP_PASSWORD=your-app-password
MAIL_SMTP_TLS_ENABLED=true
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME[email protected]
MAIL_PASSWORD=your-app-password
MAIL_TLS_ENABLED=true
```

</TabItem>
Expand Down
1 change: 0 additions & 1 deletion versioned_docs/version-1.5/Analytics-and-telemetry.md
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,6 @@ system:

**Docker Compose example**
```yaml
version: '3.8'
services:
stirling-pdf:
environment:
Expand Down
1 change: 0 additions & 1 deletion versioned_docs/version-1.5/Installation/Docker Install.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ docker run -d \

- `docker-compose.yml`
```yaml
version: '3.3'
services:
stirling-pdf:
image: docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest
Expand Down