Add stirling-pdf and fix filebrowser. (#1100)

* Add stirling-pdf.

* Delete apps/stirling-pdf/metadata/stirling.png

* Update description.md

* Update description.md

* Update docker-compose.yml

* Update docker-compose.yml
This commit is contained in:
Stavros Iliopoulos 2023-08-30 22:03:20 +03:00 committed by GitHub
parent 87c4f851db
commit 381af81664
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 128 additions and 5 deletions

View File

@ -122,6 +122,7 @@ This is the official repository for the Tipi App Store. It contains all the apps
- [SimpleX SMP](https://github.com/simplex-chat/simplexmq) - A reference implementation of the SimpleX Messaging Protocol for simplex queues over public networks.
- [Sonarr](https://github.com/Sonarr/Sonarr) - TV show manager for Usenet and BitTorrent
- [Sshwifty](https://github.com/nirui/sshwifty/) - Web SSH & Telnet (WebSSH & WebTelnet client)
- [Stirling-PDF](https://github.com/Frooodle/Stirling-PDF) - Locally hosted web application that allows you to perform various operations on PDF files.
- [Syncthing](https://github.com/syncthing/syncthing) - Continuous File Synchronization
- [Tailscale](https://github.com/tailscale/tailscale) - The easiest, most secure way to use WireGuard and 2FA
- [Tandoor](https://github.com/TandoorRecipes/recipes) - Drop your collection of links and notes. Get Tandoor and never look back onto a time without recipe management, storage, sharing and collaborative cooking!

View File

@ -5,12 +5,10 @@ services:
image: filebrowser/filebrowser:s6
ports:
- ${APP_PORT}:80
environment:
- PUID=1000
- PGID=1000
volumes:
- ${ROOT_FOLDER_HOST}/app-data:/srv/app-data
- ${ROOT_FOLDER_HOST}/media:/srv/media
- ${APP_DATA_DIR}/data/general:/srv/general
- ${APP_DATA_DIR}/data/db:/database
- ${APP_DATA_DIR}/data/config:/config
networks:

View File

@ -4,9 +4,9 @@ filebrowser provides a file managing interface within a specified directory and
- **username**: admin
- **password**: admin
<br />
## Features
Please refer to our docs at [https://filebrowser.org/features](https://filebrowser.org/features)
![Preview](https://user-images.githubusercontent.com/5447088/50716739-ebd26700-107a-11e9-9817-14230c53efd2.gif)
![Preview](https://user-images.githubusercontent.com/5447088/50716739-ebd26700-107a-11e9-9817-14230c53efd2.gif)

View File

@ -0,0 +1,20 @@
{
"$schema": "../schema.json",
"name": "Stirling-PDF",
"port": 8234,
"available": true,
"exposable": true,
"id": "stirling-pdf",
"tipi_version": 1,
"version": "0.13.0",
"categories": [
"data",
"utilities"
],
"description": "Locally hosted web application that allows you to perform various operations on PDF files.",
"short_desc": "Powerful locally hosted web based PDF manipulation tool.",
"author": "Frooodle",
"source": "https://github.com/Frooodle/Stirling-PDF/",
"form_fields": []
}

View File

@ -0,0 +1,40 @@
version: "3.7"
services:
stirling-pdf:
image: ghcr.io/frooodle/s-pdf:0.13.0
restart: unless-stopped
container_name: stirling-pdf
privileged: true
ports:
- ${APP_PORT}:8080
volumes:
- ${APP_DATA_DIR}/datatrainingData:/usr/share/tesseract-ocr/4.00/tessdata #Required for extra OCR languages
- ${APP_DATA_DIR}/dataextraConfigs:/configs
- ${APP_DATA_DIR}/datacustomFiles:/customFiles/
networks:
- tipi_main_network
labels:
# Main
traefik.enable: true
traefik.http.middlewares.stirling-pdf-web-redirect.redirectscheme.scheme: https
traefik.http.services.stirling-pdf.loadbalancer.server.port: 8080
# Web
traefik.http.routers.stirling-pdf-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.stirling-pdf-insecure.entrypoints: web
traefik.http.routers.stirling-pdf-insecure.service: stirling-pdf
traefik.http.routers.stirling-pdf-insecure.middlewares: stirling-pdf-web-redirect
# Websecure
traefik.http.routers.stirling-pdf.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.stirling-pdf.entrypoints: websecure
traefik.http.routers.stirling-pdf.service: stirling-pdf
traefik.http.routers.stirling-pdf.tls.certresolver: myresolver
# Local domain
traefik.http.routers.stirling-pdf-local-insecure.rule: Host(`stirling-pdf.${LOCAL_DOMAIN}`)
traefik.http.routers.stirling-pdf-local-insecure.entrypoints: web
traefik.http.routers.stirling-pdf-local-insecure.service: stirling-pdf
traefik.http.routers.stirling-pdf-local-insecure.middlewares: stirling-pdf-web-redirect
# Local domain secure
traefik.http.routers.stirling-pdf-local.rule: Host(`stirling-pdf.${LOCAL_DOMAIN}`)
traefik.http.routers.stirling-pdf-local.entrypoints: websecure
traefik.http.routers.stirling-pdf-local.service: stirling-pdf
traefik.http.routers.stirling-pdf-local.tls: true

View File

@ -0,0 +1,64 @@
<p align="center"><img src="https://raw.githubusercontent.com/Frooodle/Stirling-PDF/main/docs/stirling.png" width="80" ><br><h1 align="center">Stirling-PDF</h1>
</p>
This is a powerful locally hosted web based PDF manipulation tool using docker that allows you to perform various operations on PDF files, such as splitting merging, converting, reorganizing, adding images, rotating, compressing, and more. This locally hosted web application started as a 100% ChatGPT-made application and has evolved to include a wide range of features to handle all your PDF needs.
Stirling PDF makes no outbound calls for any record keeping or tracking.
All files and PDFs are either purely client side, in server memory only during the execution of the task or within a temporay file only for execution of the task.
Any file which has been downloaded by the user will have already been deleted from the server by that time.
Feel free to request any features or bug fixes either in github issues or our [Discord](https://discord.gg/Cn8pWhQRxZ)
## Features
- Full interactive GUI for merging/splitting/rotating/moving PDFs and their pages.
- Split PDFs into multiple files at specified page numbers or extract all pages as individual files.
- Merge multiple PDFs together into a single resultant file
- Convert PDFs to and from images
- Reorganize PDF pages into different orders.
- Add/Generate signatures
- Format PDFs into a multi-paged page
- Scale page contents size by set %
- Adjust Contrast
- Crop PDF
- Auto Split PDF (With physically scanned page dividers)
- Flatten PDFs
- Repair PDFs
- Detect and remove blank pages
- Compare 2 PDFs and show differences in text
- Add images to PDFs
- Rotating PDFs in 90 degree increments.
- Compressing PDFs to decrease their filesize. (Using OCRMyPDF)
- Add and remove passwords
- Set PDF Permissions
- Add watermark(s)
- Convert Any common file to PDF (using LibreOffice)
- Convert PDF to Word/Powerpoint/Others (using LibreOffice)
- Convert HTML to PDF
- URL to PDF
- Extract images from PDF
- Extract images from Scans
- Add page numbers
- Auto rename file by detecting PDF header text
- OCR on PDF (Using OCRMyPDF)
- PDF/A conversion (Using OCRMyPDF)
- Edit metadata
- Dark mode support.
- Custom download options (see [here](https://github.com/Frooodle/Stirling-PDF/blob/main/images/settings.png) for example)
- Parallel file processing and downloads
- API for integration with external scripts
For a overview of the tasks and the technology each uses please view [groups.md](https://github.com/Frooodle/Stirling-PDF/blob/main/Groups.md)
Hosted instance/demo of the app can be seen [here](https://pdf.adminforge.de/) hosted by the team at adminforge.de
## Technologies used
- Spring Boot + Thymeleaf
- PDFBox
- IText7
- [LibreOffice](https://www.libreoffice.org/discover/libreoffice/) for advanced conversions
- [OcrMyPdf](https://github.com/ocrmypdf/OCRmyPDF)
- HTML, CSS, JavaScript
- Docker
- PDF.js
- PDF-LIB.js

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB