This commit is contained in:
Sparky
2025-10-18 16:44:11 +01:00
parent 0db8459160
commit 2d0646d07e
24 changed files with 659 additions and 54 deletions

View File

@@ -0,0 +1,8 @@
SOURCE_COMMIT=HEAD
COOLIFY_URL=https://cors.site.quack-lab.dev
COOLIFY_FQDN=cors.site.quack-lab.dev
COOLIFY_BRANCH=
COOLIFY_RESOURCE_UUID=mowssk00wc0kgo8ggg0g04o4
COOLIFY_CONTAINER_NAME=mowssk00wc0kgo8ggg0g04o4-150940028761
PORT=80
HOST=0.0.0.0

View File

@@ -0,0 +1,2 @@
Resource name: cors
Latest Deployment Date: 2025-10-18 15:09:55

View File

@@ -0,0 +1,57 @@
services:
mowssk00wc0kgo8ggg0g04o4-150940028761:
image: 'redocly/cors-anywhere:latest'
container_name: mowssk00wc0kgo8ggg0g04o4-150940028761
restart: unless-stopped
expose:
- '80'
networks:
coolify:
aliases:
- mowssk00wc0kgo8ggg0g04o4-150940028761
mem_limit: '0'
memswap_limit: '0'
mem_swappiness: 60
mem_reservation: '0'
cpus: 0.0
cpu_shares: 1024
env_file:
- .env
labels:
- traefik.enable=true
- traefik.http.middlewares.gzip.compress=true
- traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https
- traefik.http.routers.http-0-mowssk00wc0kgo8ggg0g04o4.entryPoints=http
- traefik.http.routers.http-0-mowssk00wc0kgo8ggg0g04o4.middlewares=redirect-to-https
- 'traefik.http.routers.http-0-mowssk00wc0kgo8ggg0g04o4.rule=Host(`cors.site.quack-lab.dev`) && PathPrefix(`/`)'
- traefik.http.routers.http-0-mowssk00wc0kgo8ggg0g04o4.service=http-0-mowssk00wc0kgo8ggg0g04o4
- traefik.http.routers.https-0-mowssk00wc0kgo8ggg0g04o4.entryPoints=https
- traefik.http.routers.https-0-mowssk00wc0kgo8ggg0g04o4.middlewares=gzip
- 'traefik.http.routers.https-0-mowssk00wc0kgo8ggg0g04o4.rule=Host(`cors.site.quack-lab.dev`) && PathPrefix(`/`)'
- traefik.http.routers.https-0-mowssk00wc0kgo8ggg0g04o4.service=https-0-mowssk00wc0kgo8ggg0g04o4
- traefik.http.routers.https-0-mowssk00wc0kgo8ggg0g04o4.tls.certresolver=letsencrypt
- traefik.http.routers.https-0-mowssk00wc0kgo8ggg0g04o4.tls=true
- traefik.http.services.http-0-mowssk00wc0kgo8ggg0g04o4.loadbalancer.server.port=80
- traefik.http.services.https-0-mowssk00wc0kgo8ggg0g04o4.loadbalancer.server.port=80
- 'caddy_0.encode=zstd gzip'
- 'caddy_0.handle_path.0_reverse_proxy={{upstreams 80}}'
- 'caddy_0.handle_path=/*'
- caddy_0.header=-Server
- 'caddy_0.try_files={path} /index.html /index.php'
- 'caddy_0=https://cors.site.quack-lab.dev'
- caddy_ingress_network=coolify
- coolify.managed=true
- coolify.version=4.0.0-beta.434
- coolify.applicationId=1
- coolify.type=application
- coolify.name=mowssk00wc0kgo8ggg0g04o4
- coolify.resourceName=cors
- coolify.projectName=services
- coolify.serviceName=cors
- coolify.environmentName=production
- coolify.pullRequestId=0
networks:
coolify:
external: true
name: coolify
attachable: true

View File

@@ -31,6 +31,14 @@ https://calibre.site.quack-lab.dev {
header -Server
try_files {path} /index.html /index.php
}
https://cors.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
reverse_proxy 10.0.4.16:80
}
header -Server
try_files {path} /index.html /index.php
}
https://docker.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
@@ -81,6 +89,14 @@ https://grist.site.quack-lab.dev {
header -Server
try_files {path} /index.html /index.php
}
https://immich.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
reverse_proxy 10.0.61.5:2283
}
header -Server
try_files {path} /index.html /index.php
}
https://jelly.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
@@ -113,10 +129,18 @@ https://n8n.site.quack-lab.dev {
header -Server
try_files {path} /index.html /index.php
}
https://nsq-http.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
reverse_proxy 10.0.41.3:4151
}
header -Server
try_files {path} /index.html /index.php
}
https://nsq.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
reverse_proxy 10.0.41.4:4151
reverse_proxy 10.0.41.3:4151
}
header -Server
try_files {path} /index.html /index.php
@@ -124,7 +148,7 @@ https://nsq.site.quack-lab.dev {
https://nsqadmin.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
reverse_proxy 10.0.41.2:4171
reverse_proxy 10.0.41.4:4171
}
header -Server
try_files {path} /index.html /index.php
@@ -137,6 +161,14 @@ https://pastefy.site.quack-lab.dev {
header -Server
try_files {path} /index.html /index.php
}
https://pdf.site.quack-lab.dev {
encode zstd gzip
handle_path /* {
reverse_proxy 10.0.60.2:8080
}
header -Server
try_files {path} /index.html /index.php
}
https://pocketbase-autoclip.site.quack-lab.dev {
handle_path /* {
reverse_proxy 10.0.34.2:8080

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,49 @@
-----BEGIN CERTIFICATE-----
MIIDmjCCAyGgAwIBAgISBrquS9H16cNJ1SXt0JNKWwgXMAoGCCqGSM49BAMDMDIx
CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
ODAeFw0yNTEwMTgxNDExMzBaFw0yNjAxMTYxNDExMjlaMCIxIDAeBgNVBAMTF2Nv
cnMuc2l0ZS5xdWFjay1sYWIuZGV2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
YVCp0XamGAoNOd0aVtczoSVIe6r4wLjNPkdXe8VQe+pQjSzpM3EWyT6zmF+0eMyv
ICpDb1JornHuyh6e1Ch0HKOCAiUwggIhMA4GA1UdDwEB/wQEAwIHgDAdBgNVHSUE
FjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU
Bg/E1Z8vtZB4fxEl2/ASaJMUxDIwHwYDVR0jBBgwFoAUjw0TovYuftFQbDMYOF1Z
jiNykcowMgYIKwYBBQUHAQEEJjAkMCIGCCsGAQUFBzAChhZodHRwOi8vZTguaS5s
ZW5jci5vcmcvMCIGA1UdEQQbMBmCF2NvcnMuc2l0ZS5xdWFjay1sYWIuZGV2MBMG
A1UdIAQMMAowCAYGZ4EMAQIBMC0GA1UdHwQmMCQwIqAgoB6GHGh0dHA6Ly9lOC5j
LmxlbmNyLm9yZy8yNC5jcmwwggEEBgorBgEEAdZ5AgQCBIH1BIHyAPAAdgBJnJtp
3h187Pw23s2HZKa4W68Kh4AZ0VVS++nrKd34wwAAAZn33th4AAAEAwBHMEUCIQCY
nhZyerjBGyUa6eYyy2/AxQGhnxSj4Fa3A3bcJZE1SAIgHfHZ3H+cH+MDvOScoRLE
CxWZu4mVKlvRWNyNFj4OtEkAdgCWl2S/VViXrfdDh2g3CEJ36fA61fak8zZuRqQ/
D8qpxgAAAZn33tiwAAAEAwBHMEUCIDLMvrT3DhL2/wr5bZ371YswehuyzSDGa4z+
fvaxN/0PAiEAk/ZlZ1hN9ET/oN2ma8ZZS0VXlLUg9H6AQMhQQExXBz4wCgYIKoZI
zj0EAwMDZwAwZAIwYRvAQ3gseYtwoIQpHGCztFjs8X8Fz3pBzQGKqq+UntGGPV4W
WD0emAUw/EbbT5jOAjA4ZP7I+0SWewoBGZDfYJ7RAc7VXiYDa1MtIfhMoN46PJt7
1hxbYwY/sZsVDU2Q2YY=
-----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": [
"cors.site.quack-lab.dev"
],
"issuer_data": {
"url": "https://acme-v02.api.letsencrypt.org/acme/cert/06baae4bd1f5e9c349d525edd0934a5b0817",
"ca": "https://acme-v02.api.letsencrypt.org/directory"
}
}

View File

@@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIMwOezY9jAvUEx2wsTeisMCNugqpxHMXg9gu7sKZ9WZToAoGCCqGSM49
AwEHoUQDQgAEYVCp0XamGAoNOd0aVtczoSVIe6r4wLjNPkdXe8VQe+pQjSzpM3EW
yT6zmF+0eMyvICpDb1JornHuyh6e1Ch0HA==
-----END EC PRIVATE KEY-----

View File

@@ -0,0 +1,49 @@
-----BEGIN CERTIFICATE-----
MIIDnzCCAySgAwIBAgISBoL6nXOTnMESvWdZWH6PDjkVMAoGCCqGSM49BAMDMDIx
CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
ODAeFw0yNTEwMTgxMTM0NTVaFw0yNjAxMTYxMTM0NTRaMCQxIjAgBgNVBAMTGWlt
bWljaC5zaXRlLnF1YWNrLWxhYi5kZXYwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNC
AAQAUJMf32D+31yo5JFntNHAwn2CHk9RdQAhYXe9SYSSBczwRSnxmPptNGm27kIY
ogXilHyiNDulAo4GnwfT3Lr7o4ICJjCCAiIwDgYDVR0PAQH/BAQDAgeAMB0GA1Ud
JQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQW
BBQDb2Ei4flX62OBrO7xJ4+xDqCsATAfBgNVHSMEGDAWgBSPDROi9i5+0VBsMxg4
XVmOI3KRyjAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAKGFmh0dHA6Ly9lOC5p
LmxlbmNyLm9yZy8wJAYDVR0RBB0wG4IZaW1taWNoLnNpdGUucXVhY2stbGFiLmRl
djATBgNVHSAEDDAKMAgGBmeBDAECATAtBgNVHR8EJjAkMCKgIKAehhxodHRwOi8v
ZTguYy5sZW5jci5vcmcvMjIuY3JsMIIBAwYKKwYBBAHWeQIEAgSB9ASB8QDvAHYA
yzj3FYl8hKFEX1vB3fvJbvKaWc1HCmkFhbDLFMMUWOcAAAGZ9097DgAABAMARzBF
AiEA/sp8Fr5niv7mbr7D6kL3cFdKsfU0WTjLuM++nFIrKMICIE3dQEAUWICrcIz2
nz+YKmrVCgM1LvUmz5ZhpsQuDM6yAHUAGYbUxyiqb/66A294Kk0BkarOLXIxD67O
XXBBLSVMx9QAAAGZ9097AQAABAMARjBEAiBIFHuDKL0etwtpNIjXpf3ZNgvwP9Tp
9rC3ARYM5LdGKQIgBsYUuXOBTbU2ObKi0SMK8h2VmRMZxNYBLumf1S0zz2gwCgYI
KoZIzj0EAwMDaQAwZgIxAP947/adBy0vL58F5nbX6voOl/nYJcD0BKBaamfNt+GZ
2ITLESiyBMRbWGLUeua1WwIxAOqYF+RuqC59eQVLKNDXSoqoEOuxhdCpciKN39DN
37ZfZgzqKyR44fDfrbgyuX/+LA==
-----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": [
"immich.site.quack-lab.dev"
],
"issuer_data": {
"url": "https://acme-v02.api.letsencrypt.org/acme/cert/0682fa9d73939cc112bd6759587e8f0e3915",
"ca": "https://acme-v02.api.letsencrypt.org/directory"
}
}

View File

@@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEINvqtsVmzaZFk688kHAZzboU1lQND4KDbKK4Fo7WJ92GoAoGCCqGSM49
AwEHoUQDQgAEAFCTH99g/t9cqOSRZ7TRwMJ9gh5PUXUAIWF3vUmEkgXM8EUp8Zj6
bTRptu5CGKIF4pR8ojQ7pQKOBp8H09y6+w==
-----END EC PRIVATE KEY-----

View File

@@ -0,0 +1,49 @@
-----BEGIN CERTIFICATE-----
MIIDoTCCAyigAwIBAgISBs3wdTk4mKq6Gqh+4mQLmaWaMAoGCCqGSM49BAMDMDIx
CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
NzAeFw0yNTEwMTcxNDI1MDVaFw0yNjAxMTUxNDI1MDRaMCYxJDAiBgNVBAMTG25z
cS1odHRwLnNpdGUucXVhY2stbGFiLmRldjBZMBMGByqGSM49AgEGCCqGSM49AwEH
A0IABAp6tUcPWX8ktmS/6UtC23XLJjU7GtQmX6C+JYy33dhJniCppOuFjqKwoDwa
UTE4+UKcBcqaqk/fK2sZFHJ5GCujggIoMIICJDAOBgNVHQ8BAf8EBAMCB4AwHQYD
VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0O
BBYEFPmmiL1Qd2bOmOEXtjOFZ0wmvabfMB8GA1UdIwQYMBaAFK5IntyHHUSgb9qi
5WB0BHjCnACAMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcwAoYWaHR0cDovL2U3
LmkubGVuY3Iub3JnLzAmBgNVHREEHzAdghtuc3EtaHR0cC5zaXRlLnF1YWNrLWxh
Yi5kZXYwEwYDVR0gBAwwCjAIBgZngQwBAgEwLQYDVR0fBCYwJDAioCCgHoYcaHR0
cDovL2U3LmMubGVuY3Iub3JnLzI3LmNybDCCAQMGCisGAQQB1nkCBAIEgfQEgfEA
7wB1AGQRxGykEuyniRyiAi4AvKtPKAfUHjUnq+r+1QPJfc3wAAABmfLE6s4AAAQD
AEYwRAIgZ5fDoAaOObh3ZHVPH3VuDmFCpOAmOesq9EvNEMARZqICIH4AWUpAuLQv
JrGq1TlLSt3b4w3HY5VY+0WvqR7BnRZlAHYAyzj3FYl8hKFEX1vB3fvJbvKaWc1H
CmkFhbDLFMMUWOcAAAGZ8sTq4AAABAMARzBFAiEA9n54yf0Qzv3fiB6Ks9CEuGGx
wjZUNko6mOTnSTDsaUECIHIXcseTBWvhk7fj1mvc2J0ZUeg8bAsU8Dd2wTZnXZDq
MAoGCCqGSM49BAMDA2cAMGQCMGkD/ZJsO02N5mF+qpt/ppb8muQxAKfcgADVsFpB
c52Y384rXSEp/mhF+visLDnuoAIwFSWn9EHxpszniFsyGeUOdtyRbuo5l6y/CXk4
Oqmq8plTaikOuH3ghtQ76ncFwWqh
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEVzCCAj+gAwIBAgIRAKp18eYrjwoiCWbTi7/UuqEwDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjQwMzEzMDAwMDAw
WhcNMjcwMzEyMjM1OTU5WjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
RW5jcnlwdDELMAkGA1UEAxMCRTcwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARB6AST
CFh/vjcwDMCgQer+VtqEkz7JANurZxLP+U9TCeioL6sp5Z8VRvRbYk4P1INBmbef
QHJFHCxcSjKmwtvGBWpl/9ra8HW0QDsUaJW2qOJqceJ0ZVFT3hbUHifBM/2jgfgw
gfUwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcD
ATASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBSuSJ7chx1EoG/aouVgdAR4
wpwAgDAfBgNVHSMEGDAWgBR5tFnme7bl5AFzgAiIyBpY9umbbjAyBggrBgEFBQcB
AQQmMCQwIgYIKwYBBQUHMAKGFmh0dHA6Ly94MS5pLmxlbmNyLm9yZy8wEwYDVR0g
BAwwCjAIBgZngQwBAgEwJwYDVR0fBCAwHjAcoBqgGIYWaHR0cDovL3gxLmMubGVu
Y3Iub3JnLzANBgkqhkiG9w0BAQsFAAOCAgEAjx66fDdLk5ywFn3CzA1w1qfylHUD
aEf0QZpXcJseddJGSfbUUOvbNR9N/QQ16K1lXl4VFyhmGXDT5Kdfcr0RvIIVrNxF
h4lqHtRRCP6RBRstqbZ2zURgqakn/Xip0iaQL0IdfHBZr396FgknniRYFckKORPG
yM3QKnd66gtMst8I5nkRQlAg/Jb+Gc3egIvuGKWboE1G89NTsN9LTDD3PLj0dUMr
OIuqVjLB8pEC6yk9enrlrqjXQgkLEYhXzq7dLafv5Vkig6Gl0nuuqjqfp0Q1bi1o
yVNAlXe6aUXw92CcghC9bNsKEO1+M52YY5+ofIXlS/SEQbvVYYBLZ5yeiglV6t3S
M6H+vTG0aP9YHzLn/KVOHzGQfXDP7qM5tkf+7diZe7o2fw6O7IvN6fsQXEQQj8TJ
UXJxv2/uJhcuy/tSDgXwHM8Uk34WNbRT7zGTGkQRX0gsbjAea/jYAoWv0ZvQRwpq
Pe79D/i7Cep8qWnA+7AE/3B3S/3dEEYmc0lpe1366A/6GEgk3ktr9PEoQrLChs6I
tu3wnNLB2euC8IKGLQFpGtOO/2/hiAKjyajaBP25w1jF0Wl8Bbqne3uZ2q1GyPFJ
YRmT7/OXpmOH/FVLtwS+8ng1cAmpCujPwteJZNcDG0sF2n/sc0+SQf49fdyUK0ty
+VUwFj9tmWxyR/M=
-----END CERTIFICATE-----

View File

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

View File

@@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIERsont34f+GqkCq7v5DWcoU/Rxg4MwIjGyqCvFsocHJoAoGCCqGSM49
AwEHoUQDQgAECnq1Rw9ZfyS2ZL/pS0LbdcsmNTsa1CZfoL4ljLfd2EmeIKmk64WO
orCgPBpRMTj5QpwFypqqT98raxkUcnkYKw==
-----END EC PRIVATE KEY-----

View File

@@ -0,0 +1,49 @@
-----BEGIN CERTIFICATE-----
MIIDmzCCAyCgAwIBAgISBRGHZ+DFfRETlBS1IWa81Ti8MAoGCCqGSM49BAMDMDIx
CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
ODAeFw0yNTEwMTcxNDM5MDdaFw0yNjAxMTUxNDM5MDZaMCExHzAdBgNVBAMTFnBk
Zi5zaXRlLnF1YWNrLWxhYi5kZXYwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASt
eZp5g9Iy2Owl/NdtmwYsLgau/jyG6Wz/8UwJwwNa1HuUIDQ1HpSd4CIU/rk2blTB
TBT4XklNMxfbtc+oNSNqo4ICJTCCAiEwDgYDVR0PAQH/BAQDAgeAMB0GA1UdJQQW
MBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBQ2
XAf6Pv+RqoD6bhoJL9vN3KbfWDAfBgNVHSMEGDAWgBSPDROi9i5+0VBsMxg4XVmO
I3KRyjAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAKGFmh0dHA6Ly9lOC5pLmxl
bmNyLm9yZy8wIQYDVR0RBBowGIIWcGRmLnNpdGUucXVhY2stbGFiLmRldjATBgNV
HSAEDDAKMAgGBmeBDAECATAtBgNVHR8EJjAkMCKgIKAehhxodHRwOi8vZTguYy5s
ZW5jci5vcmcvNjEuY3JsMIIBBQYKKwYBBAHWeQIEAgSB9gSB8wDxAHcASZybad4d
fOz8Nt7Nh2SmuFuvCoeAGdFVUvvp6ynd+MMAAAGZ8tHDAwAABAMASDBGAiEAkLHn
0+kDzKunm4PyZfhe4CRBb4/INptUjsqrvi1Yb74CIQDECsQNe+foiNs7HdQQkSPS
gpdcXTJNQLjRzTR0ijft1wB2ABmG1Mcoqm/+ugNveCpNAZGqzi1yMQ+uzl1wQS0l
TMfUAAABmfLRwwUAAAQDAEcwRQIhAObr5yWIQRyQylh9o98rHA8bhRK2MjkV/2a6
d/kv/s4qAiBTEklSMeXTrAD9YZJTH7+5pZc9BpPVdwGRjureDJQKzzAKBggqhkjO
PQQDAwNpADBmAjEAuBhvI2AzPcQEWKTV4eUQv6yU1Uc1D7mU2t+FoeDDfXIaENyW
QunB44vgGXgqRp0jAjEA/OlHBZDLFx/krJEpB7RtheZFgIxDxauuLkDUdonDqx6u
3VlA6WZOVH1bb+QX1/87
-----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": [
"pdf.site.quack-lab.dev"
],
"issuer_data": {
"url": "https://acme-v02.api.letsencrypt.org/acme/cert/05118767e0c57d11139414b52166bcd538bc",
"ca": "https://acme-v02.api.letsencrypt.org/directory"
}
}

View File

@@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEICWkgxD926BsJ/S1FIAPoj4FlpoMTXTWsB0wnMf27j1XoAoGCCqGSM49
AwEHoUQDQgAErXmaeYPSMtjsJfzXbZsGLC4Grv48huls//FMCcMDWtR7lCA0NR6U
neAiFP65Nm5UwUwU+F5JTTMX27XPqDUjag==
-----END EC PRIVATE KEY-----

View File

@@ -1 +1 @@
{"tls":{"timestamp":"2025-10-15T07:16:48.987604313Z","instance_id":"dbe630cc-bc9f-443e-b311-aec406294c5c"}}
{"tls":{"timestamp":"2025-10-18T12:33:22.477159322Z","instance_id":"dbe630cc-bc9f-443e-b311-aec406294c5c"}}

View File

@@ -0,0 +1,3 @@
SERVICE_NAME_STIRLING_PDF=stirling-pdf
SERVICE_FQDN_STIRLING_PDF=pdf.site.quack-lab.dev
SERVICE_URL_STIRLING_PDF=https://pdf.site.quack-lab.dev

View File

@@ -0,0 +1,66 @@
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/'
- 'n0884oo0ws0s4ocw4c44scss_stirling-pdf-pipeline:/pipeline/'
environment:
DISABLE_ADDITIONAL_FEATURES: 'false'
LANGS: en_GB
COOLIFY_RESOURCE_UUID: n0884oo0ws0s4ocw4c44scss
COOLIFY_CONTAINER_NAME: stirling-pdf-n0884oo0ws0s4ocw4c44scss
COOLIFY_FQDN: pdf.site.quack-lab.dev
COOLIFY_URL: 'https://pdf.site.quack-lab.dev'
SERVICE_NAME_STIRLING_PDF: stirling-pdf
container_name: stirling-pdf-n0884oo0ws0s4ocw4c44scss
restart: unless-stopped
labels:
- coolify.managed=true
- coolify.version=4.0.0-beta.434
- coolify.serviceId=39
- coolify.type=service
- coolify.name=stirling-pdf-n0884oo0ws0s4ocw4c44scss
- coolify.resourceName=pdf
- coolify.projectName=services
- coolify.serviceName=stirling-pdf
- coolify.environmentName=production
- coolify.pullRequestId=0
- coolify.service.subId=69
- coolify.service.subType=application
- coolify.service.subName=stirling-pdf
- traefik.enable=true
- traefik.http.middlewares.gzip.compress=true
- traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https
- traefik.http.routers.http-0-n0884oo0ws0s4ocw4c44scss-stirling-pdf.entryPoints=http
- traefik.http.routers.http-0-n0884oo0ws0s4ocw4c44scss-stirling-pdf.middlewares=redirect-to-https
- 'traefik.http.routers.http-0-n0884oo0ws0s4ocw4c44scss-stirling-pdf.rule=Host(`pdf.site.quack-lab.dev`) && PathPrefix(`/`)'
- traefik.http.routers.https-0-n0884oo0ws0s4ocw4c44scss-stirling-pdf.entryPoints=https
- traefik.http.routers.https-0-n0884oo0ws0s4ocw4c44scss-stirling-pdf.middlewares=gzip
- 'traefik.http.routers.https-0-n0884oo0ws0s4ocw4c44scss-stirling-pdf.rule=Host(`pdf.site.quack-lab.dev`) && PathPrefix(`/`)'
- traefik.http.routers.https-0-n0884oo0ws0s4ocw4c44scss-stirling-pdf.tls.certresolver=letsencrypt
- traefik.http.routers.https-0-n0884oo0ws0s4ocw4c44scss-stirling-pdf.tls=true
- 'caddy_0.encode=zstd gzip'
- 'caddy_0.handle_path.0_reverse_proxy={{upstreams 8080}}'
- 'caddy_0.handle_path=/*'
- caddy_0.header=-Server
- 'caddy_0.try_files={path} /index.html /index.php'
- 'caddy_0=https://pdf.site.quack-lab.dev'
- caddy_ingress_network=n0884oo0ws0s4ocw4c44scss
networks:
n0884oo0ws0s4ocw4c44scss: null
volumes:
n0884oo0ws0s4ocw4c44scss_stirling-pdf-extraconfigs:
name: n0884oo0ws0s4ocw4c44scss_stirling-pdf-extraconfigs
n0884oo0ws0s4ocw4c44scss_stirling-pdf-customfiles:
name: n0884oo0ws0s4ocw4c44scss_stirling-pdf-customfiles
n0884oo0ws0s4ocw4c44scss_stirling-pdf-pipeline:
name: n0884oo0ws0s4ocw4c44scss_stirling-pdf-pipeline
networks:
n0884oo0ws0s4ocw4c44scss:
name: n0884oo0ws0s4ocw4c44scss
external: true
configs: { }
secrets: { }

View File

@@ -0,0 +1,17 @@
SERVICE_NAME_IMMICH=immich
SERVICE_NAME_IMMICH_MACHINE_LEARNING=immich-machine-learning
SERVICE_NAME_REDIS=redis
SERVICE_NAME_DATABASE=database
SERVICE_FQDN_IMMICH=immich.site.quack-lab.dev
SERVICE_FQDN_IMMICH_2283=immich.site.quack-lab.dev
SERVICE_PASSWORD_POSTGRES=GIeKrmc33b6T40sNgA0nHQzm3nvI1ar1
SERVICE_URL_IMMICH=https://immich.site.quack-lab.dev
SERVICE_URL_IMMICH_2283=https://immich.site.quack-lab.dev
SERVICE_USER_POSTGRES=sHTi28dK0OcwfHwP
DB_PASSWORD=$SERVICE_PASSWORD_POSTGRES
DB_USERNAME=$SERVICE_USER_POSTGRES
POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
POSTGRES_USER=${SERVICE_USER_POSTGRES}
DB_DATABASE_NAME=immich
DB_STORAGE_TYPE=SSD
TZ=Etc/UTC

View File

@@ -0,0 +1,195 @@
services:
immich:
image: 'ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}'
volumes:
- 'rokg4k0o0sw404gowks8og80_immich-uploads:/usr/src/app/upload'
- '/etc/localtime:/etc/localtime:ro'
environment:
SERVICE_URL_IMMICH_2283: 'https://immich.site.quack-lab.dev'
UPLOAD_LOCATION: ./library
DB_DATA_LOCATION: ./postgres
DB_PASSWORD: $SERVICE_PASSWORD_POSTGRES
DB_USERNAME: $SERVICE_USER_POSTGRES
DB_DATABASE_NAME: '${DB_DATABASE_NAME:-immich}'
TZ: '${TZ:-Etc/UTC}'
COOLIFY_RESOURCE_UUID: rokg4k0o0sw404gowks8og80
COOLIFY_CONTAINER_NAME: immich-rokg4k0o0sw404gowks8og80
COOLIFY_FQDN: immich.site.quack-lab.dev
COOLIFY_URL: 'https://immich.site.quack-lab.dev'
SERVICE_NAME_IMMICH: immich
SERVICE_NAME_IMMICH_MACHINE_LEARNING: immich-machine-learning
SERVICE_NAME_REDIS: redis
SERVICE_NAME_DATABASE: database
depends_on:
redis:
condition: service_healthy
database:
condition: service_healthy
healthcheck:
disable: false
container_name: immich-rokg4k0o0sw404gowks8og80
restart: unless-stopped
labels:
- coolify.managed=true
- coolify.version=4.0.0-beta.434
- coolify.serviceId=40
- coolify.type=service
- coolify.name=immich-rokg4k0o0sw404gowks8og80
- coolify.resourceName=immich
- coolify.projectName=services
- coolify.serviceName=immich
- coolify.environmentName=production
- coolify.pullRequestId=0
- coolify.service.subId=70
- coolify.service.subType=application
- coolify.service.subName=immich
- traefik.enable=true
- traefik.http.middlewares.gzip.compress=true
- traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https
- traefik.http.routers.http-0-rokg4k0o0sw404gowks8og80-immich.entryPoints=http
- traefik.http.routers.http-0-rokg4k0o0sw404gowks8og80-immich.middlewares=redirect-to-https
- 'traefik.http.routers.http-0-rokg4k0o0sw404gowks8og80-immich.rule=Host(`immich.site.quack-lab.dev`) && PathPrefix(`/`)'
- traefik.http.routers.http-0-rokg4k0o0sw404gowks8og80-immich.service=http-0-rokg4k0o0sw404gowks8og80-immich
- traefik.http.routers.https-0-rokg4k0o0sw404gowks8og80-immich.entryPoints=https
- traefik.http.routers.https-0-rokg4k0o0sw404gowks8og80-immich.middlewares=gzip
- 'traefik.http.routers.https-0-rokg4k0o0sw404gowks8og80-immich.rule=Host(`immich.site.quack-lab.dev`) && PathPrefix(`/`)'
- traefik.http.routers.https-0-rokg4k0o0sw404gowks8og80-immich.service=https-0-rokg4k0o0sw404gowks8og80-immich
- traefik.http.routers.https-0-rokg4k0o0sw404gowks8og80-immich.tls.certresolver=letsencrypt
- traefik.http.routers.https-0-rokg4k0o0sw404gowks8og80-immich.tls=true
- traefik.http.services.http-0-rokg4k0o0sw404gowks8og80-immich.loadbalancer.server.port=2283
- traefik.http.services.https-0-rokg4k0o0sw404gowks8og80-immich.loadbalancer.server.port=2283
- 'caddy_0.encode=zstd gzip'
- 'caddy_0.handle_path.0_reverse_proxy={{upstreams 2283}}'
- 'caddy_0.handle_path=/*'
- caddy_0.header=-Server
- 'caddy_0.try_files={path} /index.html /index.php'
- 'caddy_0=https://immich.site.quack-lab.dev'
- caddy_ingress_network=rokg4k0o0sw404gowks8og80
networks:
rokg4k0o0sw404gowks8og80: null
immich-machine-learning:
container_name: immich-machine-learning-rokg4k0o0sw404gowks8og80
image: 'ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}'
volumes:
- 'rokg4k0o0sw404gowks8og80_immich-model-cache:/cache'
environment:
UPLOAD_LOCATION: ./library
DB_DATA_LOCATION: ./postgres
DB_PASSWORD: $SERVICE_PASSWORD_POSTGRES
DB_USERNAME: $SERVICE_USER_POSTGRES
DB_DATABASE_NAME: '${DB_DATABASE_NAME:-immich}'
TZ: '${TZ:-Etc/UTC}'
COOLIFY_RESOURCE_UUID: rokg4k0o0sw404gowks8og80
COOLIFY_CONTAINER_NAME: immich-machine-learning-rokg4k0o0sw404gowks8og80
SERVICE_NAME_IMMICH: immich
SERVICE_NAME_IMMICH_MACHINE_LEARNING: immich-machine-learning
SERVICE_NAME_REDIS: redis
SERVICE_NAME_DATABASE: database
healthcheck:
disable: false
restart: unless-stopped
labels:
- coolify.managed=true
- coolify.version=4.0.0-beta.434
- coolify.serviceId=40
- coolify.type=service
- coolify.name=immich-machine-learning-rokg4k0o0sw404gowks8og80
- coolify.resourceName=immich
- coolify.projectName=services
- coolify.serviceName=immich-machine-learning
- coolify.environmentName=production
- coolify.pullRequestId=0
- coolify.service.subId=71
- coolify.service.subType=application
- coolify.service.subName=immich-machine-learning
networks:
rokg4k0o0sw404gowks8og80: null
redis:
image: 'redis:7.4-alpine'
healthcheck:
test:
- CMD
- redis-cli
- PING
interval: 5s
timeout: 10s
retries: 20
container_name: redis-rokg4k0o0sw404gowks8og80
restart: unless-stopped
labels:
- coolify.managed=true
- coolify.version=4.0.0-beta.434
- coolify.serviceId=40
- coolify.type=service
- coolify.name=redis-rokg4k0o0sw404gowks8og80
- coolify.resourceName=immich
- coolify.projectName=services
- coolify.serviceName=redis
- coolify.environmentName=production
- coolify.pullRequestId=0
- coolify.service.subId=24
- coolify.service.subType=database
- coolify.service.subName=redis
networks:
rokg4k0o0sw404gowks8og80: null
environment:
COOLIFY_RESOURCE_UUID: rokg4k0o0sw404gowks8og80
COOLIFY_CONTAINER_NAME: redis-rokg4k0o0sw404gowks8og80
SERVICE_NAME_IMMICH: immich
SERVICE_NAME_IMMICH_MACHINE_LEARNING: immich-machine-learning
SERVICE_NAME_REDIS: redis
SERVICE_NAME_DATABASE: database
database:
image: 'ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0'
environment:
POSTGRES_PASSWORD: '${SERVICE_PASSWORD_POSTGRES}'
POSTGRES_USER: '${SERVICE_USER_POSTGRES}'
POSTGRES_DB: '${DB_DATABASE_NAME:-immich}'
POSTGRES_INITDB_ARGS: '--data-checksums'
DB_STORAGE_TYPE: '${DB_STORAGE_TYPE:-SSD}'
COOLIFY_RESOURCE_UUID: rokg4k0o0sw404gowks8og80
COOLIFY_CONTAINER_NAME: database-rokg4k0o0sw404gowks8og80
SERVICE_NAME_IMMICH: immich
SERVICE_NAME_IMMICH_MACHINE_LEARNING: immich-machine-learning
SERVICE_NAME_REDIS: redis
SERVICE_NAME_DATABASE: database
volumes:
- 'rokg4k0o0sw404gowks8og80_immich-postgres-data:/var/lib/postgresql/data'
healthcheck:
test:
- CMD-SHELL
- 'pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}'
interval: 5s
timeout: 20s
retries: 10
container_name: database-rokg4k0o0sw404gowks8og80
restart: unless-stopped
labels:
- coolify.managed=true
- coolify.version=4.0.0-beta.434
- coolify.serviceId=40
- coolify.type=service
- coolify.name=database-rokg4k0o0sw404gowks8og80
- coolify.resourceName=immich
- coolify.projectName=services
- coolify.serviceName=database
- coolify.environmentName=production
- coolify.pullRequestId=0
- coolify.service.subId=25
- coolify.service.subType=database
- coolify.service.subName=database
networks:
rokg4k0o0sw404gowks8og80: null
volumes:
rokg4k0o0sw404gowks8og80_immich-uploads:
name: rokg4k0o0sw404gowks8og80_immich-uploads
rokg4k0o0sw404gowks8og80_immich-model-cache:
name: rokg4k0o0sw404gowks8og80_immich-model-cache
rokg4k0o0sw404gowks8og80_immich-postgres-data:
name: rokg4k0o0sw404gowks8og80_immich-postgres-data
networks:
rokg4k0o0sw404gowks8og80:
name: rokg4k0o0sw404gowks8og80
external: true
configs: { }
secrets: { }

View File

@@ -66,28 +66,46 @@ services:
- traefik.http.routers.http-0-sw0k48s8kckoo80g80co0c0o-nsqd.middlewares=redirect-to-https
- 'traefik.http.routers.http-0-sw0k48s8kckoo80g80co0c0o-nsqd.rule=Host(`nsq.site.quack-lab.dev`) && PathPrefix(`/`)'
- traefik.http.routers.http-0-sw0k48s8kckoo80g80co0c0o-nsqd.service=http-0-sw0k48s8kckoo80g80co0c0o-nsqd
- traefik.http.routers.http-1-sw0k48s8kckoo80g80co0c0o-nsqd.entryPoints=http
- traefik.http.routers.http-1-sw0k48s8kckoo80g80co0c0o-nsqd.middlewares=redirect-to-https
- 'traefik.http.routers.http-1-sw0k48s8kckoo80g80co0c0o-nsqd.rule=Host(`nsq-http.site.quack-lab.dev`) && PathPrefix(`/`)'
- traefik.http.routers.http-1-sw0k48s8kckoo80g80co0c0o-nsqd.service=http-1-sw0k48s8kckoo80g80co0c0o-nsqd
- traefik.http.routers.https-0-sw0k48s8kckoo80g80co0c0o-nsqd.entryPoints=https
- traefik.http.routers.https-0-sw0k48s8kckoo80g80co0c0o-nsqd.middlewares=gzip
- 'traefik.http.routers.https-0-sw0k48s8kckoo80g80co0c0o-nsqd.rule=Host(`nsq.site.quack-lab.dev`) && PathPrefix(`/`)'
- traefik.http.routers.https-0-sw0k48s8kckoo80g80co0c0o-nsqd.service=https-0-sw0k48s8kckoo80g80co0c0o-nsqd
- traefik.http.routers.https-0-sw0k48s8kckoo80g80co0c0o-nsqd.tls.certresolver=letsencrypt
- traefik.http.routers.https-0-sw0k48s8kckoo80g80co0c0o-nsqd.tls=true
- traefik.http.routers.https-1-sw0k48s8kckoo80g80co0c0o-nsqd.entryPoints=https
- traefik.http.routers.https-1-sw0k48s8kckoo80g80co0c0o-nsqd.middlewares=gzip
- 'traefik.http.routers.https-1-sw0k48s8kckoo80g80co0c0o-nsqd.rule=Host(`nsq-http.site.quack-lab.dev`) && PathPrefix(`/`)'
- traefik.http.routers.https-1-sw0k48s8kckoo80g80co0c0o-nsqd.service=https-1-sw0k48s8kckoo80g80co0c0o-nsqd
- traefik.http.routers.https-1-sw0k48s8kckoo80g80co0c0o-nsqd.tls.certresolver=letsencrypt
- traefik.http.routers.https-1-sw0k48s8kckoo80g80co0c0o-nsqd.tls=true
- traefik.http.services.http-0-sw0k48s8kckoo80g80co0c0o-nsqd.loadbalancer.server.port=4151
- traefik.http.services.http-1-sw0k48s8kckoo80g80co0c0o-nsqd.loadbalancer.server.port=4151
- traefik.http.services.https-0-sw0k48s8kckoo80g80co0c0o-nsqd.loadbalancer.server.port=4151
- traefik.http.services.https-1-sw0k48s8kckoo80g80co0c0o-nsqd.loadbalancer.server.port=4151
- 'caddy_0.encode=zstd gzip'
- 'caddy_0.handle_path.0_reverse_proxy={{upstreams 4151}}'
- 'caddy_0.handle_path=/*'
- caddy_0.header=-Server
- 'caddy_0.try_files={path} /index.html /index.php'
- 'caddy_0=https://nsq.site.quack-lab.dev'
- 'caddy_1.encode=zstd gzip'
- 'caddy_1.handle_path.1_reverse_proxy={{upstreams 4151}}'
- 'caddy_1.handle_path=/*'
- caddy_1.header=-Server
- 'caddy_1.try_files={path} /index.html /index.php'
- 'caddy_1=https://nsq-http.site.quack-lab.dev'
- caddy_ingress_network=sw0k48s8kckoo80g80co0c0o
networks:
sw0k48s8kckoo80g80co0c0o: null
environment:
COOLIFY_RESOURCE_UUID: sw0k48s8kckoo80g80co0c0o
COOLIFY_CONTAINER_NAME: nsqd-sw0k48s8kckoo80g80co0c0o
COOLIFY_FQDN: nsq.site.quack-lab.dev
COOLIFY_URL: 'https://nsq.site.quack-lab.dev'
COOLIFY_FQDN: 'nsq.site.quack-lab.dev,nsq-http.site.quack-lab.dev'
COOLIFY_URL: 'https://nsq.site.quack-lab.dev,https://nsq-http.site.quack-lab.dev'
SERVICE_NAME_NSQLOOKUPD: nsqlookupd
SERVICE_NAME_NSQD: nsqd
SERVICE_NAME_NSQADMIN: nsqadmin