feat: stirling pdf setup

This commit is contained in:
2025-09-30 11:04:57 +01:00
parent 0062be97aa
commit fdf3f7d4dc
8 changed files with 84 additions and 12 deletions
+21
View File
@@ -133,3 +133,24 @@ identity_providers:
- form_post - form_post
- query - query
- fragment - fragment
- client_id: 'GXbZWCII_iRwoQAjtpP6WzXDKagzYZC~dRSq3QMgJyb3RrvcPG0n.Elm3NnEpq8LLh_uZktw'
client_name: 'Stirling-PDF'
client_secret: {{ secret "/run/secrets/STIRLING_PDF_CLIENT_SECRET" }}
public: false
authorization_policy: 'two_factor'
require_pkce: false
pkce_challenge_method: ''
redirect_uris:
- 'https://stirling-pdf.64815139.xyz/login/oauth2/code/oidc'
scopes:
- 'openid'
- 'profile'
- 'groups'
- 'email'
response_types:
- 'code'
grant_types:
- 'authorization_code'
access_token_signed_response_alg: 'none'
userinfo_signed_response_alg: 'none'
token_endpoint_auth_method: 'client_secret_basic'
+6
View File
@@ -58,6 +58,12 @@ immich.64815139.xyz {
} }
} }
stirling-pdf.64815139.xyz {
route {
reverse_proxy 192.168.0.216:3328
}
}
uptime.64815139.xyz { uptime.64815139.xyz {
route { route {
reverse_proxy 192.168.0.216:4393 reverse_proxy 192.168.0.216:4393
+4
View File
@@ -26,6 +26,10 @@
"name": "immich", "name": "immich",
"proxied": false "proxied": false
}, },
{
"name": "stirling-pdf",
"proxied": false
},
{ {
"name": "uptime", "name": "uptime",
"proxied": false "proxied": false
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="44.7 -0.03 422.6 512.03"><path d="m352.1.7-262 57.7C63.6 64.3 44.7 87.8 44.7 115v332.8c0 23.7 17.7 43.5 41 46.2l137.5 18 121.1-120.5L467 265.7l-2.2-190.4c-.3-23.2-21.8-40.4-44.4-35.5L390 46.4l.2-14.4c.3-20.4-18.4-35.6-38.1-31.3" style="fill:#c02223"/><path d="M390.4 46.3v301.9l76.9-82.8-2.2-196.7c-.2-20-18.7-34.7-38.2-30.4z" style="fill:#882425"/><linearGradient id="a" x1="291.877" x2="304.067" y1="125.154" y2="227.245" gradientTransform="matrix(1.4556 0 0 -1.4548 -94.406 694.55)" gradientUnits="userSpaceOnUse"><stop offset="0" style="stop-color:#dcf1f3"/><stop offset="1" style="stop-color:#c2c2c9"/></linearGradient><path d="m223.2 512 205.7-53.6 38.4-192.9z" style="fill:url(#a)"/><linearGradient id="b" x1="205.908" x2="225.274" y1="178.073" y2="450.816" gradientTransform="matrix(1.4539 0 0 -1.4539 -93.959 694.194)" gradientUnits="userSpaceOnUse"><stop offset="0" style="stop-color:#dcf1f3"/><stop offset="1" style="stop-color:#c2c2c9"/></linearGradient><path d="M284.4 212.5s-23.5-30.6-40.9-38.9c-11.1-5.2-27.5-7.2-40.4-.8-19 9.5-21 36.2-3.5 46.8 4.1 2.6 9.7 4.8 16.9 6.5 38.7 8.9 102.6 27.3 94.8 101.5 0 0-4.5 69.6-77.7 77.6-12.9 1.4-26 .5-38.5-2.5-17.4-3.8-48.1-11.7-63.1-21l-2.8-79.4h7.4s14.6 35.3 56.1 52.4c7.7 3.1 16.1 4.3 24.3 3.1 10.3-1.5 22.4-7.1 27.3-23.8 0 0 8.3-24.4-34.7-37.8-34.4-10.8-66.8-21.8-80.2-58.1-6.3-17.2-7.4-36.2-3.1-54.5 5.7-23.8 22-57.3 68-71.7 0 0 60.5-16.4 102 5.8l-1.8 94.8z" style="fill:url(#b)"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

+19 -11
View File
@@ -12,6 +12,14 @@
<main class="container"> <main class="container">
<h1>Hello {{.Req.Header.Get "Remote-Name"}}</h1> <h1>Hello {{.Req.Header.Get "Remote-Name"}}</h1>
<ul class="app-grid"> <ul class="app-grid">
<li class="app-item">
<a href="https://gitea.64815139.xyz/user/login" target="_blank">
<div class="app-icon-wrapper">
<img src="assets/icons/gitea.svg" alt="Gitea" class="app-icon">
</div>
<span class="app-name">Gitea</span>
</a>
</li>
<li class="app-item"> <li class="app-item">
<a href="https://immich.64815139.xyz" target="_blank"> <a href="https://immich.64815139.xyz" target="_blank">
<div class="app-icon-wrapper"> <div class="app-icon-wrapper">
@@ -21,19 +29,11 @@
</a> </a>
</li> </li>
<li class="app-item"> <li class="app-item">
<a href="https://oaT3cqYuCAegcoM4Xc4Pun1BUMOschxR.64815139.xyz" target="_blank"> <a href="https://stirling-pdf.64815139.xyz" target="_blank">
<div class="app-icon-wrapper"> <div class="app-icon-wrapper">
<img src="assets/icons/bitwarden.svg" alt="Bitwarden" class="app-icon"> <img src="assets/icons/stirling-pdf.svg" alt="Stirling PDF" class="app-icon">
</div> </div>
<span class="app-name">Vault</span> <span class="app-name">Stirling PDF</span>
</a>
</li>
<li class="app-item">
<a href="https://gitea.64815139.xyz/user/login" target="_blank">
<div class="app-icon-wrapper">
<img src="assets/icons/gitea.svg" alt="Gitea" class="app-icon">
</div>
<span class="app-name">Gitea</span>
</a> </a>
</li> </li>
<li class="app-item"> <li class="app-item">
@@ -44,6 +44,14 @@
<span class="app-name">Uptime</span> <span class="app-name">Uptime</span>
</a> </a>
</li> </li>
<li class="app-item">
<a href="https://oaT3cqYuCAegcoM4Xc4Pun1BUMOschxR.64815139.xyz" target="_blank">
<div class="app-icon-wrapper">
<img src="assets/icons/bitwarden.svg" alt="Bitwarden" class="app-icon">
</div>
<span class="app-name">Vault</span>
</a>
</li>
<!-- Add more application links here --> <!-- Add more application links here -->
</ul> </ul>
</main> </main>
+1 -1
View File
@@ -78,7 +78,7 @@ body {
.app-name { .app-name {
margin-top: 16px; margin-top: 16px;
font-size: 16px; font-size: 14px;
font-weight: bold; font-weight: bold;
height: 20%; height: 20%;
display: flex; display: flex;
+3
View File
@@ -24,6 +24,8 @@ secrets:
file: './authelia/secrets/clients/IMMICH_CLIENT_SECRET' file: './authelia/secrets/clients/IMMICH_CLIENT_SECRET'
GITEA_CLIENT_SECRET: GITEA_CLIENT_SECRET:
file: './authelia/secrets/clients/GITEA_CLIENT_SECRET' file: './authelia/secrets/clients/GITEA_CLIENT_SECRET'
STIRLING_PDF_CLIENT_SECRET:
file: './authelia/secrets/clients/STIRLING_PDF_CLIENT_SECRET'
services: services:
authelia: authelia:
image: 'docker.io/authelia/authelia:latest' image: 'docker.io/authelia/authelia:latest'
@@ -47,6 +49,7 @@ services:
- OIDC_JWKS_AUTHELIA_CERT - OIDC_JWKS_AUTHELIA_CERT
- IMMICH_CLIENT_SECRET - IMMICH_CLIENT_SECRET
- GITEA_CLIENT_SECRET - GITEA_CLIENT_SECRET
- STIRLING_PDF_CLIENT_SECRET
environment: environment:
AUTHELIA_IDENTITY_VALIDATION_RESET_PASSWORD_JWT_SECRET_FILE: /run/secrets/JWT_SECRET AUTHELIA_IDENTITY_VALIDATION_RESET_PASSWORD_JWT_SECRET_FILE: /run/secrets/JWT_SECRET
AUTHELIA_SESSION_SECRET_FILE: /run/secrets/SESSION_SECRET AUTHELIA_SESSION_SECRET_FILE: /run/secrets/SESSION_SECRET
+29
View File
@@ -0,0 +1,29 @@
name: stirlingpdf
services:
app:
image: docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest
ports:
- '3328:8080'
volumes:
- ./data/trainingData:/usr/share/tessdata
- ./data/extraConfigs:/configs
- ./data/customFiles:/customFiles/
- ./data/logs:/logs/
- ./data/pipeline:/pipeline/
env_file:
- ./secrets/.env
environment:
DISABLE_ADDITIONAL_FEATURES: false
DOCKER_ENABLE_SECURITY: true
LANGS: en_GB
SECURITY_ENABLE_LOGIN: true
SECURITY_LOGINMETHOD: 'oauth2'
SECURITY_OAUTH2_ENABLED: true
SECURITY_OAUTH2_AUTOCREATEUSER: true
SECURITY_OAUTH2_ISSUER: 'https://auth.64815139.xyz'
SECURITY_OAUTH2_CLIENTID: 'GXbZWCII_iRwoQAjtpP6WzXDKagzYZC~dRSq3QMgJyb3RrvcPG0n.Elm3NnEpq8LLh_uZktw'
SECURITY_OAUTH2_BLOCKREGISTRATION: false
SECURITY_OAUTH2_SCOPES: 'openid, profile, email'
SECURITY_OAUTH2_USEASUSERNAME: 'preferred_username'
SECURITY_OAUTH2_PROVIDER: 'Authelia'
SYSTEM_GOOGLEVISIBILITY: false