diff --git a/README.md b/README.md
index 1b730980..7ad20717 100644
--- a/README.md
+++ b/README.md
@@ -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!
diff --git a/apps/filebrowser/docker-compose.yml b/apps/filebrowser/docker-compose.yml
index 00cc0598..d3421d18 100644
--- a/apps/filebrowser/docker-compose.yml
+++ b/apps/filebrowser/docker-compose.yml
@@ -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:
diff --git a/apps/filebrowser/metadata/description.md b/apps/filebrowser/metadata/description.md
index 3c7355e1..8160c31e 100644
--- a/apps/filebrowser/metadata/description.md
+++ b/apps/filebrowser/metadata/description.md
@@ -4,9 +4,9 @@ filebrowser provides a file managing interface within a specified directory and
- **username**: admin
- **password**: admin
-
+
## 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)
\ No newline at end of file
+![Preview](https://user-images.githubusercontent.com/5447088/50716739-ebd26700-107a-11e9-9817-14230c53efd2.gif)
diff --git a/apps/stirling-pdf/config.json b/apps/stirling-pdf/config.json
new file mode 100644
index 00000000..11db4928
--- /dev/null
+++ b/apps/stirling-pdf/config.json
@@ -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": []
+ }
+
\ No newline at end of file
diff --git a/apps/stirling-pdf/docker-compose.yml b/apps/stirling-pdf/docker-compose.yml
new file mode 100644
index 00000000..ec57f2ff
--- /dev/null
+++ b/apps/stirling-pdf/docker-compose.yml
@@ -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
diff --git a/apps/stirling-pdf/metadata/description.md b/apps/stirling-pdf/metadata/description.md
new file mode 100644
index 00000000..94a53866
--- /dev/null
+++ b/apps/stirling-pdf/metadata/description.md
@@ -0,0 +1,64 @@
+