mirror of
https://github.com/Frooodle/Stirling-PDF.git
synced 2026-03-04 02:20:19 +01:00
cc1931fa75f62b78cad6371188b6944bf6b26f64
## Description Fixes #5542 This PR adds support for environment variables to configure the file upload limit, which was previously ignored. ## Changes - **Added support for `SYSTEMFILEUPLOADLIMIT` environment variable**: Accepts format like "100MB", "1GB", etc. - **Added support for `SYSTEM_MAXFILESIZE` environment variable**: Accepts number in MB (e.g., "100" for 100MB) - **Initialize `fileUploadLimit` from environment variables**: Added `@PostConstruct` method in `ApplicationProperties` to read env vars and set `fileUploadLimit` if not already set in settings.yml - **Created `MultipartConfiguration`**: New configuration class that syncs Spring multipart settings with `fileUploadLimit` from settings.yml or environment variables - **Updated `application.properties`**: Added documentation about environment variable support ## How it works 1. On startup, `ApplicationProperties.initializeFileUploadLimitFromEnv()` checks for `SYSTEMFILEUPLOADLIMIT` or `SYSTEM_MAXFILESIZE` environment variables 2. If found and `fileUploadLimit` is not set in settings.yml, it sets the value 3. `MultipartConfiguration` reads the `fileUploadLimit` via `UploadLimitService` and configures Spring multipart settings accordingly 4. Users can also still use `SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE` and `SPRING_SERVLET_MULTIPART_MAX_REQUEST_SIZE` directly ## Testing Set environment variables: - `SYSTEMFILEUPLOADLIMIT=10MB` or - `SYSTEM_MAXFILESIZE=10` The `fileUploadLimit` in settings.yml should be populated and multipart limits should be respected.
…
Stirling PDF - The Open-Source PDF Platform
Stirling PDF is a powerful, open-source PDF editing platform. Run it as a personal desktop app, in the browser, or deploy it on your own servers with a private API. Edit, sign, redact, convert, and automate PDFs without sending documents to external services.
Key Capabilities
- Everywhere you work - Desktop client, browser UI, and self-hosted server with a private API.
- 50+ PDF tools - Edit, merge, split, sign, redact, convert, OCR, compress, and more.
- Automation & workflows - No-code pipelines direct in UI with APIs to process millions of PDFs.
- Enterprise‑grade - SSO, auditing, and flexible on‑prem deployments.
- Developer platform - REST APIs available for nearly all tools to integrate into your existing systems.
- Global UI - Interface available in 40+ languages.
For a full feature list, see the docs: https://docs.stirlingpdf.com
Quick Start
docker run -p 8080:8080 docker.stirlingpdf.com/stirlingtools/stirling-pdf
Then open: http://localhost:8080
For full installation options (including desktop and Kubernetes), see our Documentation Guide.
Resources
Support
- Community Discord
- Bug Reports: Github issues
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
For development setup, see the Developer Guide.
For adding translations, see the Translation Guide.
License
Stirling PDF is open-core. See LICENSE for details.
Languages
TypeScript
47.1%
Java
42.9%
CSS
2.8%
Python
2.5%
Shell
1.3%
Other
3.2%

