Switch to traefik

This commit is contained in:
Sparky
2025-10-27 17:05:04 +00:00
parent aa53a383ff
commit 850cd95a6b
15 changed files with 346 additions and 5 deletions

File diff suppressed because one or more lines are too long

View File

@@ -268,6 +268,14 @@ https://torrent.site.quack-lab.dev {
header -Server
try_files {path} /index.html /index.php
}
https://webtop.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
reverse_proxy 10.0.67.2:3000
}
header -Server
try_files {path} /index.html /index.php
}
https://zipline.site.quack-lab.dev {
encode zstd gzip
handle_path /* {

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,49 @@
-----BEGIN CERTIFICATE-----
MIIDsTCCAzagAwIBAgISBX9quSB6mYUkVS51KzgEK+eeMAoGCCqGSM49BAMDMDIx
CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
ODAeFw0yNTEwMjcxMzEwNDJaFw0yNjAxMjUxMzEwNDFaMC0xKzApBgNVBAMTIndl
YnRvcC5pbnRlcm5hbC5zaXRlLnF1YWNrLWxhYi5kZXYwWTATBgcqhkjOPQIBBggq
hkjOPQMBBwNCAAR3V9ibvS93ow5XC+ZdfEOGP+8SzDGRcZ7ySpGkgf82n+L9QjQo
vc+NPwwOazh3KxsqNqF2DvxjU0ZH4/iMvDf5o4ICLzCCAiswDgYDVR0PAQH/BAQD
AgeAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAA
MB0GA1UdDgQWBBQvx6BriM19s04weuZJqjvMKlBLuzAfBgNVHSMEGDAWgBSPDROi
9i5+0VBsMxg4XVmOI3KRyjAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAKGFmh0
dHA6Ly9lOC5pLmxlbmNyLm9yZy8wLQYDVR0RBCYwJIIid2VidG9wLmludGVybmFs
LnNpdGUucXVhY2stbGFiLmRldjATBgNVHSAEDDAKMAgGBmeBDAECATAtBgNVHR8E
JjAkMCKgIKAehhxodHRwOi8vZTguYy5sZW5jci5vcmcvMzEuY3JsMIIBAwYKKwYB
BAHWeQIEAgSB9ASB8QDvAHUAZBHEbKQS7KeJHKICLgC8q08oB9QeNSer6v7VA8l9
zfAAAAGaJgBo2AAABAMARjBEAiBo0yDUMBeKFjX41n5e76lNPtWSmvqiKt8ID4r+
EUiLawIgbcPqyxpB6jVnrsEYYtOuaHTZfYQ/4lVUFPoLgefFOXEAdgCWl2S/VViX
rfdDh2g3CEJ36fA61fak8zZuRqQ/D8qpxgAAAZomAGkbAAAEAwBHMEUCIQCJxVeS
7rFK5MxH9ZmFk7udLIXL0YdeyQ5Xikg7pv8eNwIgX6dqWv3fDBIUawENMmf88M2T
dUqnh7KUtbBtEkd4gekwCgYIKoZIzj0EAwMDaQAwZgIxAIh54llx2SsPzuqT/a09
Cua/a7AYG1cj6JCK9QQjrHeos7VgqWEkeGPQrOV3ZKtKQgIxAJh7E8W9iznDdCBk
Qr5dJ5IbaqJsK5r2sVuVo9sM4OP7SHnXnRvPxZhmG2MGBORTwA==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEVjCCAj6gAwIBAgIQY5WTY8JOcIJxWRi/w9ftVjANBgkqhkiG9w0BAQsFADBP
MQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFy
Y2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMTAeFw0yNDAzMTMwMDAwMDBa
Fw0yNzAzMTIyMzU5NTlaMDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBF
bmNyeXB0MQswCQYDVQQDEwJFODB2MBAGByqGSM49AgEGBSuBBAAiA2IABNFl8l7c
S7QMApzSsvru6WyrOq44ofTUOTIzxULUzDMMNMchIJBwXOhiLxxxs0LXeb5GDcHb
R6EToMffgSZjO9SNHfY9gjMy9vQr5/WWOrQTZxh7az6NSNnq3u2ubT6HTKOB+DCB
9TAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMB
MBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFI8NE6L2Ln7RUGwzGDhdWY4j
cpHKMB8GA1UdIwQYMBaAFHm0WeZ7tuXkAXOACIjIGlj26ZtuMDIGCCsGAQUFBwEB
BCYwJDAiBggrBgEFBQcwAoYWaHR0cDovL3gxLmkubGVuY3Iub3JnLzATBgNVHSAE
DDAKMAgGBmeBDAECATAnBgNVHR8EIDAeMBygGqAYhhZodHRwOi8veDEuYy5sZW5j
ci5vcmcvMA0GCSqGSIb3DQEBCwUAA4ICAQBnE0hGINKsCYWi0Xx1ygxD5qihEjZ0
RI3tTZz1wuATH3ZwYPIp97kWEayanD1j0cDhIYzy4CkDo2jB8D5t0a6zZWzlr98d
AQFNh8uKJkIHdLShy+nUyeZxc5bNeMp1Lu0gSzE4McqfmNMvIpeiwWSYO9w82Ob8
otvXcO2JUYi3svHIWRm3+707DUbL51XMcY2iZdlCq4Wa9nbuk3WTU4gr6LY8MzVA
aDQG2+4U3eJ6qUF10bBnR1uuVyDYs9RhrwucRVnfuDj29CMLTsplM5f5wSV5hUpm
Uwp/vV7M4w4aGunt74koX71n4EdagCsL/Yk5+mAQU0+tue0JOfAV/R6t1k+Xk9s2
HMQFeoxppfzAVC04FdG9M+AC2JWxmFSt6BCuh3CEey3fE52Qrj9YM75rtvIjsm/1
Hl+u//Wqxnu1ZQ4jpa+VpuZiGOlWrqSP9eogdOhCGisnyewWJwRQOqK16wiGyZeR
xs/Bekw65vwSIaVkBruPiTfMOo0Zh4gVa8/qJgMbJbyrwwG97z/PRgmLKCDl8z3d
tA0Z7qq7fta0Gl24uyuB05dqI5J1LvAzKuWdIjT1tP8qCoxSE/xpix8hX2dt3h+/
jujUgFPFZ0EVZ0xSyBNRF3MboGZnYXFUxpNjTWPKpagDHJQmqrAcDmWJnMsFY3jS
u1igv3OefnWjSQ==
-----END CERTIFICATE-----

View File

@@ -0,0 +1,9 @@
{
"sans": [
"webtop.internal.site.quack-lab.dev"
],
"issuer_data": {
"url": "https://acme-v02.api.letsencrypt.org/acme/cert/057f6ab9207a998524552e752b38042be79e",
"ca": "https://acme-v02.api.letsencrypt.org/directory"
}
}

View File

@@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIMOwOLHs0kRXoo7LG4ILqAFf0D8op3SfWr6tD391AVAJoAoGCCqGSM49
AwEHoUQDQgAEd1fYm70vd6MOVwvmXXxDhj/vEswxkXGe8kqRpIH/Np/i/UI0KL3P
jT8MDms4dysbKjahdg78Y1NGR+P4jLw3+Q==
-----END EC PRIVATE KEY-----

View File

@@ -0,0 +1,49 @@
-----BEGIN CERTIFICATE-----
MIIDnzCCAyWgAwIBAgISBv+NTW83DuzYkGWQXcvFF0BqMAoGCCqGSM49BAMDMDIx
CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
ODAeFw0yNTEwMjcxMzUyMDhaFw0yNjAxMjUxMzUyMDdaMCQxIjAgBgNVBAMTGXdl
YnRvcC5zaXRlLnF1YWNrLWxhYi5kZXYwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNC
AAT3IK9QlGJVi1rXfk/ctOYGMvgqlEwLDGpHf2jkAB3nPDuijYvVxMh73/E0cln9
AyQHMd3vPCD5rq+2O6n2Bi6bo4ICJzCCAiMwDgYDVR0PAQH/BAQDAgeAMB0GA1Ud
JQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQW
BBQZ34ZdpR9gAkOHoBw5mSfSHeBpOjAfBgNVHSMEGDAWgBSPDROi9i5+0VBsMxg4
XVmOI3KRyjAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAKGFmh0dHA6Ly9lOC5p
LmxlbmNyLm9yZy8wJAYDVR0RBB0wG4IZd2VidG9wLnNpdGUucXVhY2stbGFiLmRl
djATBgNVHSAEDDAKMAgGBmeBDAECATAuBgNVHR8EJzAlMCOgIaAfhh1odHRwOi8v
ZTguYy5sZW5jci5vcmcvMTA3LmNybDCCAQMGCisGAQQB1nkCBAIEgfQEgfEA7wB1
AGQRxGykEuyniRyiAi4AvKtPKAfUHjUnq+r+1QPJfc3wAAABmiYmV8AAAAQDAEYw
RAIgO9xkEzLQWToD6cD7fJCoB575i2foO/xlX31+12AkzXECIC7AzFIKgCYzcQmZ
ZOqa6lTcUbQcis8HvskDCK6tCRHaAHYAlpdkv1VYl633Q4doNwhCd+nwOtX2pPM2
bkakPw/KqcYAAAGaJiZX9wAABAMARzBFAiEAv/Qn1V9qTT0dd+xX6j4tOKvn0WTh
BJ8Xzs1+wG/Ye2MCIFSEUNnQ2VQ9yxNJn7ayNwV3KXtaltX5kNTTv5wbKQW5MAoG
CCqGSM49BAMDA2gAMGUCME6gEYKNkbOeQ3xqRemh5QoK9Ca2mjyF3vdrk+PL2Jsb
u/Zz/fCPQxFuTD31wZzkewIxAMfzF+Bcec34wO1XzZAz2ZO+UpRse1B8nnPu+Ooq
M3NdOvrGtintyEi7xa3aKDXQKQ==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEVjCCAj6gAwIBAgIQY5WTY8JOcIJxWRi/w9ftVjANBgkqhkiG9w0BAQsFADBP
MQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFy
Y2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMTAeFw0yNDAzMTMwMDAwMDBa
Fw0yNzAzMTIyMzU5NTlaMDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBF
bmNyeXB0MQswCQYDVQQDEwJFODB2MBAGByqGSM49AgEGBSuBBAAiA2IABNFl8l7c
S7QMApzSsvru6WyrOq44ofTUOTIzxULUzDMMNMchIJBwXOhiLxxxs0LXeb5GDcHb
R6EToMffgSZjO9SNHfY9gjMy9vQr5/WWOrQTZxh7az6NSNnq3u2ubT6HTKOB+DCB
9TAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMB
MBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFI8NE6L2Ln7RUGwzGDhdWY4j
cpHKMB8GA1UdIwQYMBaAFHm0WeZ7tuXkAXOACIjIGlj26ZtuMDIGCCsGAQUFBwEB
BCYwJDAiBggrBgEFBQcwAoYWaHR0cDovL3gxLmkubGVuY3Iub3JnLzATBgNVHSAE
DDAKMAgGBmeBDAECATAnBgNVHR8EIDAeMBygGqAYhhZodHRwOi8veDEuYy5sZW5j
ci5vcmcvMA0GCSqGSIb3DQEBCwUAA4ICAQBnE0hGINKsCYWi0Xx1ygxD5qihEjZ0
RI3tTZz1wuATH3ZwYPIp97kWEayanD1j0cDhIYzy4CkDo2jB8D5t0a6zZWzlr98d
AQFNh8uKJkIHdLShy+nUyeZxc5bNeMp1Lu0gSzE4McqfmNMvIpeiwWSYO9w82Ob8
otvXcO2JUYi3svHIWRm3+707DUbL51XMcY2iZdlCq4Wa9nbuk3WTU4gr6LY8MzVA
aDQG2+4U3eJ6qUF10bBnR1uuVyDYs9RhrwucRVnfuDj29CMLTsplM5f5wSV5hUpm
Uwp/vV7M4w4aGunt74koX71n4EdagCsL/Yk5+mAQU0+tue0JOfAV/R6t1k+Xk9s2
HMQFeoxppfzAVC04FdG9M+AC2JWxmFSt6BCuh3CEey3fE52Qrj9YM75rtvIjsm/1
Hl+u//Wqxnu1ZQ4jpa+VpuZiGOlWrqSP9eogdOhCGisnyewWJwRQOqK16wiGyZeR
xs/Bekw65vwSIaVkBruPiTfMOo0Zh4gVa8/qJgMbJbyrwwG97z/PRgmLKCDl8z3d
tA0Z7qq7fta0Gl24uyuB05dqI5J1LvAzKuWdIjT1tP8qCoxSE/xpix8hX2dt3h+/
jujUgFPFZ0EVZ0xSyBNRF3MboGZnYXFUxpNjTWPKpagDHJQmqrAcDmWJnMsFY3jS
u1igv3OefnWjSQ==
-----END CERTIFICATE-----

View File

@@ -0,0 +1,9 @@
{
"sans": [
"webtop.site.quack-lab.dev"
],
"issuer_data": {
"url": "https://acme-v02.api.letsencrypt.org/acme/cert/06ff8d4d6f370eecd89065905dcbc517406a",
"ca": "https://acme-v02.api.letsencrypt.org/directory"
}
}

View File

@@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIH+1YIc11++75DbnLB5QXP+jZ1fnunE7msgT+4MyOmpqoAoGCCqGSM49
AwEHoUQDQgAE9yCvUJRiVYta135P3LTmBjL4KpRMCwxqR39o5AAd5zw7oo2L1cTI
e9/xNHJZ/QMkBzHd7zwg+a6vtjup9gYumw==
-----END EC PRIVATE KEY-----

View File

@@ -0,0 +1,13 @@
webtop.site.quack-lab.dev {
@lan {
remote_ip 192.168.0.0/16 127.0.0.1
}
handle @lan {
reverse_proxy webtop:3000
}
handle {
respond "Forbidden" 403
}
}

View File

@@ -0,0 +1,18 @@
# This file is generated by Coolify, do not edit it manually.
# Disable the default redirect to customize (only if you know what are you doing).
http:
routers:
catchall:
entryPoints:
- http
- https
service: noop
rule: PathPrefix(`/`)
tls:
certResolver: letsencrypt
priority: -1000
services:
noop:
loadBalancer:
servers: { }

View File

@@ -0,0 +1,2 @@
accessLog:
format: common

View File

@@ -0,0 +1,5 @@
SERVICE_NAME_WEBTOP=webtop
SERVICE_FQDN_WEBTOP=webtop.site.quack-lab.dev
SERVICE_FQDN_WEBTOP_3000=webtop.site.quack-lab.dev
SERVICE_URL_WEBTOP=https://webtop.site.quack-lab.dev
SERVICE_URL_WEBTOP_3000=https://webtop.site.quack-lab.dev

View File

@@ -0,0 +1,67 @@
services:
webtop:
image: 'lscr.io/linuxserver/webtop:latest'
container_name: webtop-kkwwkk8ow00sg844gk08wwk0
environment:
PUID: '1000'
PGID: '1000'
TZ: Etc/UTC
COOLIFY_RESOURCE_UUID: kkwwkk8ow00sg844gk08wwk0
COOLIFY_CONTAINER_NAME: webtop-kkwwkk8ow00sg844gk08wwk0
COOLIFY_FQDN: webtop.site.quack-lab.dev
COOLIFY_URL: 'https://webtop.site.quack-lab.dev'
SERVICE_NAME_WEBTOP: webtop
volumes:
- '/path/to/data:/config'
ports:
- '3000:3000'
- '3001:3001'
shm_size: 1gb
restart: unless-stopped
labels:
- 'traefik.http.middlewares.lanonly.ipwhitelist.sourcerange=192.168.0.0/16,127.0.0.1'
- traefik.http.routers.webtop.middlewares=lanonly
- coolify.managed=true
- coolify.version=4.0.0-beta.434
- coolify.serviceId=45
- coolify.type=service
- coolify.name=webtop-kkwwkk8ow00sg844gk08wwk0
- coolify.resourceName=webtop
- coolify.projectName=services
- coolify.serviceName=webtop
- coolify.environmentName=production
- coolify.pullRequestId=0
- coolify.service.subId=81
- coolify.service.subType=application
- coolify.service.subName=webtop
- traefik.enable=true
- traefik.http.middlewares.gzip.compress=true
- traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https
- traefik.http.routers.http-0-kkwwkk8ow00sg844gk08wwk0-webtop.entryPoints=http
- traefik.http.routers.http-0-kkwwkk8ow00sg844gk08wwk0-webtop.middlewares=redirect-to-https
- 'traefik.http.routers.http-0-kkwwkk8ow00sg844gk08wwk0-webtop.rule=Host(`webtop.site.quack-lab.dev`) && PathPrefix(`/`)'
- traefik.http.routers.http-0-kkwwkk8ow00sg844gk08wwk0-webtop.service=http-0-kkwwkk8ow00sg844gk08wwk0-webtop
- traefik.http.routers.https-0-kkwwkk8ow00sg844gk08wwk0-webtop.entryPoints=https
- 'traefik.http.routers.https-0-kkwwkk8ow00sg844gk08wwk0-webtop.middlewares=gzip,lanonly'
- 'traefik.http.routers.https-0-kkwwkk8ow00sg844gk08wwk0-webtop.rule=Host(`webtop.site.quack-lab.dev`) && PathPrefix(`/`)'
- traefik.http.routers.https-0-kkwwkk8ow00sg844gk08wwk0-webtop.service=https-0-kkwwkk8ow00sg844gk08wwk0-webtop
- traefik.http.routers.https-0-kkwwkk8ow00sg844gk08wwk0-webtop.tls.certresolver=letsencrypt
- traefik.http.routers.https-0-kkwwkk8ow00sg844gk08wwk0-webtop.tls=true
- traefik.http.services.http-0-kkwwkk8ow00sg844gk08wwk0-webtop.loadbalancer.server.port=3000
- traefik.http.services.https-0-kkwwkk8ow00sg844gk08wwk0-webtop.loadbalancer.server.port=3000
- 'caddy_0.encode=zstd gzip'
- 'caddy_0.handle_path.0_reverse_proxy={{upstreams 3000}}'
- 'caddy_0.handle_path=/*'
- caddy_0.header=-Server
- 'caddy_0.try_files={path} /index.html /index.php'
- 'caddy_0=https://webtop.site.quack-lab.dev'
- caddy_ingress_network=kkwwkk8ow00sg844gk08wwk0
networks:
kkwwkk8ow00sg844gk08wwk0: null
volumes: { }
networks:
kkwwkk8ow00sg844gk08wwk0:
name: kkwwkk8ow00sg844gk08wwk0
external: true
configs: { }
secrets: { }

View File

@@ -1,8 +1,6 @@
services:
stirling-pdf:
image: 'docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest'
ports:
- '8080:8080'
volumes:
- 'n0884oo0ws0s4ocw4c44scss_stirling-pdf-extraconfigs:/configs'
- 'n0884oo0ws0s4ocw4c44scss_stirling-pdf-customfiles:/customFiles/'