Initial Commit

This commit is contained in:
Daniel McKnight 2025-01-10 21:35:21 -08:00
commit c74aada2f0
89 changed files with 1613903 additions and 0 deletions

1
.migrations Normal file
View file

@ -0,0 +1 @@
01-nginx-site-confs-default

64
keys/cert.crt Normal file
View file

@ -0,0 +1,64 @@
-----BEGIN CERTIFICATE-----
MIIF7jCCBNagAwIBAgISA+Ozr4OVF/5SMnq2iKrqr+gVMA0GCSqGSIb3DQEBCwUA
MDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQD
EwNSMTAwHhcNMjQxMjE0MDE0MTE5WhcNMjUwMzE0MDE0MTE4WjAaMRgwFgYDVQQD
DA8qLm1ja25pZ2h0LnRlY2gwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
AQC7wnjMxYA4rxJwf0jk8LvHAvYmHh1qfVhkpc5gLKf1THMJE2Ydx8bEXne3nCum
UUx5BkSF+ZSFgGR6UK2hnGUOI1Nf2dn57jinEwbE/YsxCBw1BcG3f6d4MckwusoG
8a6ySPwmxeS7J+Uj4ey93/atErVbHdfsnwl/5vw9G7QMVpqwZL/OlRTt33GcfGcu
RayXbSLIF/NpPr6P0aNqTCKz0nrqIEMSkdega6o+Xbu1tXfCjvbv3g0+FXML/DLw
ZWLZE9IR0/bVVTaiJWG/VJWe8zd4FOWvlhw0SmJ8xWHByjlIg6VKcSGdPdqRqyrg
S1HasmN33qSjSm3uSm9T1uPd4pKW5Apmxdr3Z1BRZN127VaVzIonuREk6jKFAEsK
UL/Vz4fqs0clw2Cdsr7Q9TngduAoySWgjZEBlEoAiKPllpJBQDAGfVDz+SgnrpdX
kZRySoYbhyXxBhHnI2+WqF9FwoUUfQo/UnkQUFxrIDDxHhwRDHOL8EcDWaWX47m6
e4wL42Ig0FpaACJ9+i6luZb0oMm+UIMbJ1b3BArNhyjJiT1cqaUhJF+dV/ThE33M
H645pvJZC35WdCcxLwAGBt+Ik8fauFKKSmhTWlBsRTR8AUvrZ2gDl1Ca+QQ0+kOZ
NwN326XqOJQXK9KWPXC1jxpgROlbzdTUreb6LgYeU/cIOwIDAQABo4ICEzCCAg8w
DgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAM
BgNVHRMBAf8EAjAAMB0GA1UdDgQWBBR5mJ+bBIG3me3yNlxU3nSNt0WQ5zAfBgNV
HSMEGDAWgBS7vMNHpeS8qcbDpHIMEI2iNeHI6DBXBggrBgEFBQcBAQRLMEkwIgYI
KwYBBQUHMAGGFmh0dHA6Ly9yMTAuby5sZW5jci5vcmcwIwYIKwYBBQUHMAKGF2h0
dHA6Ly9yMTAuaS5sZW5jci5vcmcvMBoGA1UdEQQTMBGCDyoubWNrbmlnaHQudGVj
aDATBgNVHSAEDDAKMAgGBmeBDAECATCCAQQGCisGAQQB1nkCBAIEgfUEgfIA8AB2
AKLjCuRF772tm3447Udnd1PXgluElNcrXhssxLlQpEfnAAABk8MJVUwAAAQDAEcw
RQIgcK2wwWoTJjGfJxguq5p8m72fP1ZEe56GGlRx9b1Bt+QCIQCExel2mzLEGAvq
DtTCiuZM2kh6jqLalquJwc+kXlowPAB2ABNK3xq1mEIJeAxv70x6kaQWtyNJzlhX
at+u2qfCq+AiAAABk8MJVkYAAAQDAEcwRQIhALcEWO060HVw4o+hC3hYDR5mMHP4
SrtrpelGZAkRy792AiAPxLm8IJRiTyuDFvTCzkaEFfFF99qB7A2SAVL23YIs+zAN
BgkqhkiG9w0BAQsFAAOCAQEAhERNH79ardQPve5WMrXzPy1Ok/7t6ljtoQtkDgpp
4qc/bgy5xbh2DdkETyiKAcJqQvAnzCkRcbfGWpf1sYuI/J2NYAi9vDOcu7BXND0r
jBfzTihNANCNZxIQq/LaRwp5/65PgmnYicI+c7qezvgp1JrGrb6UZnkGzl7AaxV3
bjPBmpOF0E7ZwNlOfzeT+sXok8LTJXXs1Lx2Lcw3g7gUpoGIZVxflh4WNJRoPRcs
EquRy7li8DqobhYVQcLaof5TUDAZNPbiYdD2v3cq9vQhUtK6KwD42UzWYBiEUMeY
hQGTKpnu4ImtE47TnN62ipFqVU3GG4LW95kCbtWTgbqPzw==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFBTCCAu2gAwIBAgIQS6hSk/eaL6JzBkuoBI110DANBgkqhkiG9w0BAQsFADBP
MQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFy
Y2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMTAeFw0yNDAzMTMwMDAwMDBa
Fw0yNzAzMTIyMzU5NTlaMDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBF
bmNyeXB0MQwwCgYDVQQDEwNSMTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQDPV+XmxFQS7bRH/sknWHZGUCiMHT6I3wWd1bUYKb3dtVq/+vbOo76vACFL
YlpaPAEvxVgD9on/jhFD68G14BQHlo9vH9fnuoE5CXVlt8KvGFs3Jijno/QHK20a
/6tYvJWuQP/py1fEtVt/eA0YYbwX51TGu0mRzW4Y0YCF7qZlNrx06rxQTOr8IfM4
FpOUurDTazgGzRYSespSdcitdrLCnF2YRVxvYXvGLe48E1KGAdlX5jgc3421H5KR
mudKHMxFqHJV8LDmowfs/acbZp4/SItxhHFYyTr6717yW0QrPHTnj7JHwQdqzZq3
DZb3EoEmUVQK7GH29/Xi8orIlQ2NAgMBAAGjgfgwgfUwDgYDVR0PAQH/BAQDAgGG
MB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATASBgNVHRMBAf8ECDAGAQH/
AgEAMB0GA1UdDgQWBBS7vMNHpeS8qcbDpHIMEI2iNeHI6DAfBgNVHSMEGDAWgBR5
tFnme7bl5AFzgAiIyBpY9umbbjAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAKG
Fmh0dHA6Ly94MS5pLmxlbmNyLm9yZy8wEwYDVR0gBAwwCjAIBgZngQwBAgEwJwYD
VR0fBCAwHjAcoBqgGIYWaHR0cDovL3gxLmMubGVuY3Iub3JnLzANBgkqhkiG9w0B
AQsFAAOCAgEAkrHnQTfreZ2B5s3iJeE6IOmQRJWjgVzPw139vaBw1bGWKCIL0vIo
zwzn1OZDjCQiHcFCktEJr59L9MhwTyAWsVrdAfYf+B9haxQnsHKNY67u4s5Lzzfd
u6PUzeetUK29v+PsPmI2cJkxp+iN3epi4hKu9ZzUPSwMqtCceb7qPVxEbpYxY1p9
1n5PJKBLBX9eb9LU6l8zSxPWV7bK3lG4XaMJgnT9x3ies7msFtpKK5bDtotij/l0
GaKeA97pb5uwD9KgWvaFXMIEt8jVTjLEvwRdvCn294GPDF08U8lAkIv7tghluaQh
1QnlE4SEN4LOECj8dsIGJXpGUk3aU3KkJz9icKy+aUgA+2cP21uh6NcDIS3XyfaZ
QjmDQ993ChII8SXWupQZVBiIpcWO4RqZk3lr7Bz5MUCwzDIA359e57SSq5CCkY0N
4B6Vulk7LktfwrdGNVI5BsC9qqxSwSKgRJeZ9wygIaehbHFHFhcBaMDKpiZlBHyz
rsnnlFXCb5s8HKn5LsUgGvB24L7sGNZP2CX7dhHov+YhD+jozLW2p9W4959Bz2Ei
RmqDtmiXLnzqTpXbI+suyCsohKRg6Un0RC47+cpiVwHiXZAW+cn8eiNIjqbVgXLx
KPpdzvvtTnOPlC7SQZSYmdunr3Bf9b77AiC/ZidstK36dRILKz7OA54=
-----END CERTIFICATE-----

51
keys/cert.key Normal file
View file

@ -0,0 +1,51 @@
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----

34
keys/cert.pem Normal file
View file

@ -0,0 +1,34 @@
-----BEGIN CERTIFICATE-----
MIIF7TCCBNWgAwIBAgISBE9vL1BLtdoXFSQqmTjG93LOMA0GCSqGSIb3DQEBCwUA
MDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQD
EwNSMTAwHhcNMjQxMDAzMDI0ODU5WhcNMjUwMTAxMDI0ODU4WjAaMRgwFgYDVQQD
DA8qLm1ja25pZ2h0LnRlY2gwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
AQC7wnjMxYA4rxJwf0jk8LvHAvYmHh1qfVhkpc5gLKf1THMJE2Ydx8bEXne3nCum
UUx5BkSF+ZSFgGR6UK2hnGUOI1Nf2dn57jinEwbE/YsxCBw1BcG3f6d4MckwusoG
8a6ySPwmxeS7J+Uj4ey93/atErVbHdfsnwl/5vw9G7QMVpqwZL/OlRTt33GcfGcu
RayXbSLIF/NpPr6P0aNqTCKz0nrqIEMSkdega6o+Xbu1tXfCjvbv3g0+FXML/DLw
ZWLZE9IR0/bVVTaiJWG/VJWe8zd4FOWvlhw0SmJ8xWHByjlIg6VKcSGdPdqRqyrg
S1HasmN33qSjSm3uSm9T1uPd4pKW5Apmxdr3Z1BRZN127VaVzIonuREk6jKFAEsK
UL/Vz4fqs0clw2Cdsr7Q9TngduAoySWgjZEBlEoAiKPllpJBQDAGfVDz+SgnrpdX
kZRySoYbhyXxBhHnI2+WqF9FwoUUfQo/UnkQUFxrIDDxHhwRDHOL8EcDWaWX47m6
e4wL42Ig0FpaACJ9+i6luZb0oMm+UIMbJ1b3BArNhyjJiT1cqaUhJF+dV/ThE33M
H645pvJZC35WdCcxLwAGBt+Ik8fauFKKSmhTWlBsRTR8AUvrZ2gDl1Ca+QQ0+kOZ
NwN326XqOJQXK9KWPXC1jxpgROlbzdTUreb6LgYeU/cIOwIDAQABo4ICEjCCAg4w
DgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAM
BgNVHRMBAf8EAjAAMB0GA1UdDgQWBBR5mJ+bBIG3me3yNlxU3nSNt0WQ5zAfBgNV
HSMEGDAWgBS7vMNHpeS8qcbDpHIMEI2iNeHI6DBXBggrBgEFBQcBAQRLMEkwIgYI
KwYBBQUHMAGGFmh0dHA6Ly9yMTAuby5sZW5jci5vcmcwIwYIKwYBBQUHMAKGF2h0
dHA6Ly9yMTAuaS5sZW5jci5vcmcvMBoGA1UdEQQTMBGCDyoubWNrbmlnaHQudGVj
aDATBgNVHSAEDDAKMAgGBmeBDAECATCCAQMGCisGAQQB1nkCBAIEgfQEgfEA7wB1
AD8XS0/XIkdYlB1lHIS+DRLtkDd/H4Vq68G/KIXs+GRuAAABklB9avIAAAQDAEYw
RAIgFOoZH8uVmjMqhxTWeph4AfkYMKw8eo6uQtbcXW8SvVACIE7N5bIntC4C0tlJ
yVJv8iu4OBShJ/xNBSymkFOcZ1iNAHYAzxFW7tUufK/zh1vZaS6b6RpxZ0qwF+ys
AdJbd87MOwgAAAGSUH1rGAAABAMARzBFAiEAly4pBG0HUvldvnweun8JKdj9mauE
2Kq8oXvdKZRRshMCIAz2pmnhPpENMadHJ3AYjmH7rKSrGyT8etnXbcJv31ukMA0G
CSqGSIb3DQEBCwUAA4IBAQAGG3Q24CuRnt47sRqw2p09DspSIC47LadVH6wca6Q8
7j1pNe5mdXlynEakIO6675HjKuuucVGkO0rjP8S947anaEuVJkILYKzo3MqdD4kh
lZOBBbh0eRROUEAJYxy31UxRekz6StxZOB5ePWoElUvqelrP8Jfvp544VwJEoPiO
9hLuoYUOMg/PHu4pkFerxB9Ek2BGl0vYVsefW+lwAOUmZZmuxeSCgkaVhD8wO3ef
+0s6ikMPC+5CfcCRYdtXFrGH0wkJOdko7gNWvRreWcCbUUgQ/mye0q8Ztz4p4qqk
ojJpOzJ22noPoWuvn2ZgL7cSLPZs8o97QV0ZnrPd8OlB
-----END CERTIFICATE-----

30
keys/mcknight.tech/ca.pem Normal file
View file

@ -0,0 +1,30 @@
-----BEGIN CERTIFICATE-----
MIIFBjCCAu6gAwIBAgIRAIp9PhPWLzDvI4a9KQdrNPgwDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjQwMzEzMDAwMDAw
WhcNMjcwMzEyMjM1OTU5WjAzMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
RW5jcnlwdDEMMAoGA1UEAxMDUjExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAuoe8XBsAOcvKCs3UZxD5ATylTqVhyybKUvsVAbe5KPUoHu0nsyQYOWcJ
DAjs4DqwO3cOvfPlOVRBDE6uQdaZdN5R2+97/1i9qLcT9t4x1fJyyXJqC4N0lZxG
AGQUmfOx2SLZzaiSqhwmej/+71gFewiVgdtxD4774zEJuwm+UE1fj5F2PVqdnoPy
6cRms+EGZkNIGIBloDcYmpuEMpexsr3E+BUAnSeI++JjF5ZsmydnS8TbKF5pwnnw
SVzgJFDhxLyhBax7QG0AtMJBP6dYuC/FXJuluwme8f7rsIU5/agK70XEeOtlKsLP
Xzze41xNG/cLJyuqC0J3U095ah2H2QIDAQABo4H4MIH1MA4GA1UdDwEB/wQEAwIB
hjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwEgYDVR0TAQH/BAgwBgEB
/wIBADAdBgNVHQ4EFgQUxc9GpOr0w8B6bJXELbBeki8m47kwHwYDVR0jBBgwFoAU
ebRZ5nu25eQBc4AIiMgaWPbpm24wMgYIKwYBBQUHAQEEJjAkMCIGCCsGAQUFBzAC
hhZodHRwOi8veDEuaS5sZW5jci5vcmcvMBMGA1UdIAQMMAowCAYGZ4EMAQIBMCcG
A1UdHwQgMB4wHKAaoBiGFmh0dHA6Ly94MS5jLmxlbmNyLm9yZy8wDQYJKoZIhvcN
AQELBQADggIBAE7iiV0KAxyQOND1H/lxXPjDj7I3iHpvsCUf7b632IYGjukJhM1y
v4Hz/MrPU0jtvfZpQtSlET41yBOykh0FX+ou1Nj4ScOt9ZmWnO8m2OG0JAtIIE38
01S0qcYhyOE2G/93ZCkXufBL713qzXnQv5C/viOykNpKqUgxdKlEC+Hi9i2DcaR1
e9KUwQUZRhy5j/PEdEglKg3l9dtD4tuTm7kZtB8v32oOjzHTYw+7KdzdZiw/sBtn
UfhBPORNuay4pJxmY/WrhSMdzFO2q3Gu3MUBcdo27goYKjL9CTF8j/Zz55yctUoV
aneCWs/ajUX+HypkBTA+c8LGDLnWO2NKq0YD/pnARkAnYGPfUDoHR9gVSp/qRx+Z
WghiDLZsMwhN1zjtSC0uBWiugF3vTNzYIEFfaPG7Ws3jDrAMMYebQ95JQ+HIBD/R
PBuHRTBpqKlyDnkSHDHYPiNX3adPoPAcgdF3H2/W0rmoswMWgTlLn1Wu0mrks7/q
pdWfS6PJ1jty80r2VKsM/Dj3YIDfbjXKdaFU5C+8bhfJGqU3taKauuz0wHVGT3eo
6FlWkWYtbt4pgdamlwVeZEW+LM7qZEJEsMNPrfC03APKmZsJgpWCDWOKZvkZcvjV
uYkQ4omYCTX5ohy+knMjdOmdH9c7SpqEWBDC86fiNex+O0XOMEZSa8DA
-----END CERTIFICATE-----

View file

@ -0,0 +1,46 @@
-----BEGIN CERTIFICATE-----
MIIIEjCCBvqgAwIBAgISBFz6cVFT2oRM+3DdQHWt9OKtMA0GCSqGSIb3DQEBCwUA
MDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQD
EwNSMTEwHhcNMjQwODIxMDIzNDA0WhcNMjQxMTE5MDIzNDAzWjAYMRYwFAYDVQQD
Ew1tY2tuaWdodC50ZWNoMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA
3EIWUFNRshTimHQiuFlsnuKbwcBZA1gRkmEXdV3OmALAK/ZqR4hbzftN+JfyeY61
56NRPMde57OfKgfZNZXbWfur9uRqciwBinF1P06Toe0szWUyQC9cqK3+P0WPeYwo
hkQXFR98W8cnx6LYHo7QgyHENvhjCnxSl//idnhAT+bqVCMZiazwJHTXjfKLUL12
fBkLWL8lPlM6h9Xdjv8eQdaFsldfDMzJqpQ25vPiBuDpFN9roPiyFP4doQsg7P2e
vhakB/jRCcqd7NJqCpZj4+VxQVCmUx1pLfPicaL5TdK7zTGpxjgG8vIgqRm8pRD1
k3yA43kphMlkn3tjZWDZbmUbzmcVYsgB6905vWeeK1yOf7XeEw9N4r6e5DnkCe0i
C+syqSUsMFd+wJCfKceT04XDzP3XuvBqVL3MP9k6S1KcdgNtiVEMVoVf3eVWkADm
7jtm9dEhd7t6c10VgfK7cIddbCh9I9Ng/1lEz/vxJIQ8eorZflYNRU82Jcfw02R2
j27xgigJcADj4T8HgQXiYcFx2EMe/CCwdlSZOddUM3R2q2/h5L0wzROoPFGYcTuR
6ZL/mSvl5FpznUmy16ZaHuR99yXiQ0zSeeYvtyw9hTy5dCf8eoD9QEcyPg4VY086
wA4DoMpl0nxmsewkjmw94UoUTR0aSQLAP8AqqjWV78ECAwEAAaOCBDkwggQ1MA4G
A1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYD
VR0TAQH/BAIwADAdBgNVHQ4EFgQUFvfzggXNd9LbghvAWflX+vOK9KowHwYDVR0j
BBgwFoAUxc9GpOr0w8B6bJXELbBeki8m47kwVwYIKwYBBQUHAQEESzBJMCIGCCsG
AQUFBzABhhZodHRwOi8vcjExLm8ubGVuY3Iub3JnMCMGCCsGAQUFBzAChhdodHRw
Oi8vcjExLmkubGVuY3Iub3JnLzCCAj0GA1UdEQSCAjQwggIwghRhY3R1YWwubWNr
bmlnaHQudGVjaIIYYXVkaW9ib29rcy5tY2tuaWdodC50ZWNoghJibG9nLm1ja25p
Z2h0LnRlY2iCE2Nsb3VkLm1ja25pZ2h0LnRlY2iCFWZyaWdhdGUubWNrbmlnaHQu
dGVjaIIRZ2l0Lm1ja25pZ2h0LnRlY2iCFWdyYWZhbmEubWNrbmlnaHQudGVjaIIb
aG9tZWFzc2lzdGFudC5tY2tuaWdodC50ZWNoghRpbmZsdXgubWNrbmlnaHQudGVj
aIIWamVsbHlmaW4ubWNrbmlnaHQudGVjaIIUbWF0cml4Lm1ja25pZ2h0LnRlY2iC
DW1ja25pZ2h0LnRlY2iCE21pbmlvLm1ja25pZ2h0LnRlY2iCEW5hcy5tY2tuaWdo
dC50ZWNoghZvcG5zZW5zZS5tY2tuaWdodC50ZWNoghJwYXNzLm1ja25pZ2h0LnRl
Y2iCFHBob3Rvcy5tY2tuaWdodC50ZWNoghJwbGV4Lm1ja25pZ2h0LnRlY2iCEHMz
Lm1ja25pZ2h0LnRlY2iCE3N0YXJ0Lm1ja25pZ2h0LnRlY2iCFnRhdXR1bGxpLm1j
a25pZ2h0LnRlY2iCE3VuaWZpLm1ja25pZ2h0LnRlY2iCFHVucmFpZC5tY2tuaWdo
dC50ZWNoghR1cHRpbWUubWNrbmlnaHQudGVjaIIRd3d3Lm1ja25pZ2h0LnRlY2iC
E3p3YXZlLm1ja25pZ2h0LnRlY2gwEwYDVR0gBAwwCjAIBgZngQwBAgEwggEFBgor
BgEEAdZ5AgQCBIH2BIHzAPEAdgBIsONr2qZHNA/lagL6nTDrHFIBy1bdLIHZu7+r
OdiEcwAAAZFy/k5AAAAEAwBHMEUCIBhoZgPGcRCrwlfVQnPlKh1LNyKsWxxNW8Wo
TWTfBbtbAiEAlbc6ShL9BO8f3MPjFxCgXgsv2bB7ofwSI3M0TSjCD74AdwAZmBBx
CfDWUi4wgNKeP2S7g24ozPkPUo7u385KPxa0ygAAAZFy/k5qAAAEAwBIMEYCIQDW
XGDL52LsywOwc0JQyYR6ZkPkw4oj6S/IXvNPZVsp8wIhAJRKCMaRfr/zl8R66Yh5
RoFhoPe7a6dnXmB5aRerSLKoMA0GCSqGSIb3DQEBCwUAA4IBAQBZSGNdmJVD2dZa
Jy+SPjJTOWcT/iY+RoqhPm6l4ECekMFBrN+jHlOlVZb4/RCF7hHj7c+1UxwflIAu
M9SOn9VrDrNd6Xnnm/WrYakidoSWemFeNhG2Pq0KC1pli++JUiPfXL5hO4k98amF
r0NwPzQoN99BEEBime1vYct5AmpD7P2gaojQ9J06EvE5vygsM8AfBiE5LtKDHg3z
CfLME/05eb2sXwr86vBJ+WAgSq8Wme+6BmhokDY6oz7QWc5Zq2ksl4HnSHeDaGf+
joSyW5NW0RBbKSU2kDX4RCRYp0ToSgHMWyDgeFziEIRTx/0bYDNd3AF39a8Q5yeG
KAuiRvQA
-----END CERTIFICATE-----

View file

@ -0,0 +1,76 @@
-----BEGIN CERTIFICATE-----
MIIIEjCCBvqgAwIBAgISBFz6cVFT2oRM+3DdQHWt9OKtMA0GCSqGSIb3DQEBCwUA
MDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQD
EwNSMTEwHhcNMjQwODIxMDIzNDA0WhcNMjQxMTE5MDIzNDAzWjAYMRYwFAYDVQQD
Ew1tY2tuaWdodC50ZWNoMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA
3EIWUFNRshTimHQiuFlsnuKbwcBZA1gRkmEXdV3OmALAK/ZqR4hbzftN+JfyeY61
56NRPMde57OfKgfZNZXbWfur9uRqciwBinF1P06Toe0szWUyQC9cqK3+P0WPeYwo
hkQXFR98W8cnx6LYHo7QgyHENvhjCnxSl//idnhAT+bqVCMZiazwJHTXjfKLUL12
fBkLWL8lPlM6h9Xdjv8eQdaFsldfDMzJqpQ25vPiBuDpFN9roPiyFP4doQsg7P2e
vhakB/jRCcqd7NJqCpZj4+VxQVCmUx1pLfPicaL5TdK7zTGpxjgG8vIgqRm8pRD1
k3yA43kphMlkn3tjZWDZbmUbzmcVYsgB6905vWeeK1yOf7XeEw9N4r6e5DnkCe0i
C+syqSUsMFd+wJCfKceT04XDzP3XuvBqVL3MP9k6S1KcdgNtiVEMVoVf3eVWkADm
7jtm9dEhd7t6c10VgfK7cIddbCh9I9Ng/1lEz/vxJIQ8eorZflYNRU82Jcfw02R2
j27xgigJcADj4T8HgQXiYcFx2EMe/CCwdlSZOddUM3R2q2/h5L0wzROoPFGYcTuR
6ZL/mSvl5FpznUmy16ZaHuR99yXiQ0zSeeYvtyw9hTy5dCf8eoD9QEcyPg4VY086
wA4DoMpl0nxmsewkjmw94UoUTR0aSQLAP8AqqjWV78ECAwEAAaOCBDkwggQ1MA4G
A1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYD
VR0TAQH/BAIwADAdBgNVHQ4EFgQUFvfzggXNd9LbghvAWflX+vOK9KowHwYDVR0j
BBgwFoAUxc9GpOr0w8B6bJXELbBeki8m47kwVwYIKwYBBQUHAQEESzBJMCIGCCsG
AQUFBzABhhZodHRwOi8vcjExLm8ubGVuY3Iub3JnMCMGCCsGAQUFBzAChhdodHRw
Oi8vcjExLmkubGVuY3Iub3JnLzCCAj0GA1UdEQSCAjQwggIwghRhY3R1YWwubWNr
bmlnaHQudGVjaIIYYXVkaW9ib29rcy5tY2tuaWdodC50ZWNoghJibG9nLm1ja25p
Z2h0LnRlY2iCE2Nsb3VkLm1ja25pZ2h0LnRlY2iCFWZyaWdhdGUubWNrbmlnaHQu
dGVjaIIRZ2l0Lm1ja25pZ2h0LnRlY2iCFWdyYWZhbmEubWNrbmlnaHQudGVjaIIb
aG9tZWFzc2lzdGFudC5tY2tuaWdodC50ZWNoghRpbmZsdXgubWNrbmlnaHQudGVj
aIIWamVsbHlmaW4ubWNrbmlnaHQudGVjaIIUbWF0cml4Lm1ja25pZ2h0LnRlY2iC
DW1ja25pZ2h0LnRlY2iCE21pbmlvLm1ja25pZ2h0LnRlY2iCEW5hcy5tY2tuaWdo
dC50ZWNoghZvcG5zZW5zZS5tY2tuaWdodC50ZWNoghJwYXNzLm1ja25pZ2h0LnRl
Y2iCFHBob3Rvcy5tY2tuaWdodC50ZWNoghJwbGV4Lm1ja25pZ2h0LnRlY2iCEHMz
Lm1ja25pZ2h0LnRlY2iCE3N0YXJ0Lm1ja25pZ2h0LnRlY2iCFnRhdXR1bGxpLm1j
a25pZ2h0LnRlY2iCE3VuaWZpLm1ja25pZ2h0LnRlY2iCFHVucmFpZC5tY2tuaWdo
dC50ZWNoghR1cHRpbWUubWNrbmlnaHQudGVjaIIRd3d3Lm1ja25pZ2h0LnRlY2iC
E3p3YXZlLm1ja25pZ2h0LnRlY2gwEwYDVR0gBAwwCjAIBgZngQwBAgEwggEFBgor
BgEEAdZ5AgQCBIH2BIHzAPEAdgBIsONr2qZHNA/lagL6nTDrHFIBy1bdLIHZu7+r
OdiEcwAAAZFy/k5AAAAEAwBHMEUCIBhoZgPGcRCrwlfVQnPlKh1LNyKsWxxNW8Wo
TWTfBbtbAiEAlbc6ShL9BO8f3MPjFxCgXgsv2bB7ofwSI3M0TSjCD74AdwAZmBBx
CfDWUi4wgNKeP2S7g24ozPkPUo7u385KPxa0ygAAAZFy/k5qAAAEAwBIMEYCIQDW
XGDL52LsywOwc0JQyYR6ZkPkw4oj6S/IXvNPZVsp8wIhAJRKCMaRfr/zl8R66Yh5
RoFhoPe7a6dnXmB5aRerSLKoMA0GCSqGSIb3DQEBCwUAA4IBAQBZSGNdmJVD2dZa
Jy+SPjJTOWcT/iY+RoqhPm6l4ECekMFBrN+jHlOlVZb4/RCF7hHj7c+1UxwflIAu
M9SOn9VrDrNd6Xnnm/WrYakidoSWemFeNhG2Pq0KC1pli++JUiPfXL5hO4k98amF
r0NwPzQoN99BEEBime1vYct5AmpD7P2gaojQ9J06EvE5vygsM8AfBiE5LtKDHg3z
CfLME/05eb2sXwr86vBJ+WAgSq8Wme+6BmhokDY6oz7QWc5Zq2ksl4HnSHeDaGf+
joSyW5NW0RBbKSU2kDX4RCRYp0ToSgHMWyDgeFziEIRTx/0bYDNd3AF39a8Q5yeG
KAuiRvQA
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFBjCCAu6gAwIBAgIRAIp9PhPWLzDvI4a9KQdrNPgwDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjQwMzEzMDAwMDAw
WhcNMjcwMzEyMjM1OTU5WjAzMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
RW5jcnlwdDEMMAoGA1UEAxMDUjExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAuoe8XBsAOcvKCs3UZxD5ATylTqVhyybKUvsVAbe5KPUoHu0nsyQYOWcJ
DAjs4DqwO3cOvfPlOVRBDE6uQdaZdN5R2+97/1i9qLcT9t4x1fJyyXJqC4N0lZxG
AGQUmfOx2SLZzaiSqhwmej/+71gFewiVgdtxD4774zEJuwm+UE1fj5F2PVqdnoPy
6cRms+EGZkNIGIBloDcYmpuEMpexsr3E+BUAnSeI++JjF5ZsmydnS8TbKF5pwnnw
SVzgJFDhxLyhBax7QG0AtMJBP6dYuC/FXJuluwme8f7rsIU5/agK70XEeOtlKsLP
Xzze41xNG/cLJyuqC0J3U095ah2H2QIDAQABo4H4MIH1MA4GA1UdDwEB/wQEAwIB
hjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwEgYDVR0TAQH/BAgwBgEB
/wIBADAdBgNVHQ4EFgQUxc9GpOr0w8B6bJXELbBeki8m47kwHwYDVR0jBBgwFoAU
ebRZ5nu25eQBc4AIiMgaWPbpm24wMgYIKwYBBQUHAQEEJjAkMCIGCCsGAQUFBzAC
hhZodHRwOi8veDEuaS5sZW5jci5vcmcvMBMGA1UdIAQMMAowCAYGZ4EMAQIBMCcG
A1UdHwQgMB4wHKAaoBiGFmh0dHA6Ly94MS5jLmxlbmNyLm9yZy8wDQYJKoZIhvcN
AQELBQADggIBAE7iiV0KAxyQOND1H/lxXPjDj7I3iHpvsCUf7b632IYGjukJhM1y
v4Hz/MrPU0jtvfZpQtSlET41yBOykh0FX+ou1Nj4ScOt9ZmWnO8m2OG0JAtIIE38
01S0qcYhyOE2G/93ZCkXufBL713qzXnQv5C/viOykNpKqUgxdKlEC+Hi9i2DcaR1
e9KUwQUZRhy5j/PEdEglKg3l9dtD4tuTm7kZtB8v32oOjzHTYw+7KdzdZiw/sBtn
UfhBPORNuay4pJxmY/WrhSMdzFO2q3Gu3MUBcdo27goYKjL9CTF8j/Zz55yctUoV
aneCWs/ajUX+HypkBTA+c8LGDLnWO2NKq0YD/pnARkAnYGPfUDoHR9gVSp/qRx+Z
WghiDLZsMwhN1zjtSC0uBWiugF3vTNzYIEFfaPG7Ws3jDrAMMYebQ95JQ+HIBD/R
PBuHRTBpqKlyDnkSHDHYPiNX3adPoPAcgdF3H2/W0rmoswMWgTlLn1Wu0mrks7/q
pdWfS6PJ1jty80r2VKsM/Dj3YIDfbjXKdaFU5C+8bhfJGqU3taKauuz0wHVGT3eo
6FlWkWYtbt4pgdamlwVeZEW+LM7qZEJEsMNPrfC03APKmZsJgpWCDWOKZvkZcvjV
uYkQ4omYCTX5ohy+knMjdOmdH9c7SpqEWBDC86fiNex+O0XOMEZSa8DA
-----END CERTIFICATE-----

View file

@ -0,0 +1,51 @@
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----

View file

@ -0,0 +1,30 @@
-----BEGIN CERTIFICATE-----
MIIFBTCCAu2gAwIBAgIQS6hSk/eaL6JzBkuoBI110DANBgkqhkiG9w0BAQsFADBP
MQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFy
Y2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMTAeFw0yNDAzMTMwMDAwMDBa
Fw0yNzAzMTIyMzU5NTlaMDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBF
bmNyeXB0MQwwCgYDVQQDEwNSMTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQDPV+XmxFQS7bRH/sknWHZGUCiMHT6I3wWd1bUYKb3dtVq/+vbOo76vACFL
YlpaPAEvxVgD9on/jhFD68G14BQHlo9vH9fnuoE5CXVlt8KvGFs3Jijno/QHK20a
/6tYvJWuQP/py1fEtVt/eA0YYbwX51TGu0mRzW4Y0YCF7qZlNrx06rxQTOr8IfM4
FpOUurDTazgGzRYSespSdcitdrLCnF2YRVxvYXvGLe48E1KGAdlX5jgc3421H5KR
mudKHMxFqHJV8LDmowfs/acbZp4/SItxhHFYyTr6717yW0QrPHTnj7JHwQdqzZq3
DZb3EoEmUVQK7GH29/Xi8orIlQ2NAgMBAAGjgfgwgfUwDgYDVR0PAQH/BAQDAgGG
MB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATASBgNVHRMBAf8ECDAGAQH/
AgEAMB0GA1UdDgQWBBS7vMNHpeS8qcbDpHIMEI2iNeHI6DAfBgNVHSMEGDAWgBR5
tFnme7bl5AFzgAiIyBpY9umbbjAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAKG
Fmh0dHA6Ly94MS5pLmxlbmNyLm9yZy8wEwYDVR0gBAwwCjAIBgZngQwBAgEwJwYD
VR0fBCAwHjAcoBqgGIYWaHR0cDovL3gxLmMubGVuY3Iub3JnLzANBgkqhkiG9w0B
AQsFAAOCAgEAkrHnQTfreZ2B5s3iJeE6IOmQRJWjgVzPw139vaBw1bGWKCIL0vIo
zwzn1OZDjCQiHcFCktEJr59L9MhwTyAWsVrdAfYf+B9haxQnsHKNY67u4s5Lzzfd
u6PUzeetUK29v+PsPmI2cJkxp+iN3epi4hKu9ZzUPSwMqtCceb7qPVxEbpYxY1p9
1n5PJKBLBX9eb9LU6l8zSxPWV7bK3lG4XaMJgnT9x3ies7msFtpKK5bDtotij/l0
GaKeA97pb5uwD9KgWvaFXMIEt8jVTjLEvwRdvCn294GPDF08U8lAkIv7tghluaQh
1QnlE4SEN4LOECj8dsIGJXpGUk3aU3KkJz9icKy+aUgA+2cP21uh6NcDIS3XyfaZ
QjmDQ993ChII8SXWupQZVBiIpcWO4RqZk3lr7Bz5MUCwzDIA359e57SSq5CCkY0N
4B6Vulk7LktfwrdGNVI5BsC9qqxSwSKgRJeZ9wygIaehbHFHFhcBaMDKpiZlBHyz
rsnnlFXCb5s8HKn5LsUgGvB24L7sGNZP2CX7dhHov+YhD+jozLW2p9W4959Bz2Ei
RmqDtmiXLnzqTpXbI+suyCsohKRg6Un0RC47+cpiVwHiXZAW+cn8eiNIjqbVgXLx
KPpdzvvtTnOPlC7SQZSYmdunr3Bf9b77AiC/ZidstK36dRILKz7OA54=
-----END CERTIFICATE-----

View file

@ -0,0 +1,34 @@
-----BEGIN CERTIFICATE-----
MIIF7TCCBNWgAwIBAgISBE9vL1BLtdoXFSQqmTjG93LOMA0GCSqGSIb3DQEBCwUA
MDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQD
EwNSMTAwHhcNMjQxMDAzMDI0ODU5WhcNMjUwMTAxMDI0ODU4WjAaMRgwFgYDVQQD
DA8qLm1ja25pZ2h0LnRlY2gwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
AQC7wnjMxYA4rxJwf0jk8LvHAvYmHh1qfVhkpc5gLKf1THMJE2Ydx8bEXne3nCum
UUx5BkSF+ZSFgGR6UK2hnGUOI1Nf2dn57jinEwbE/YsxCBw1BcG3f6d4MckwusoG
8a6ySPwmxeS7J+Uj4ey93/atErVbHdfsnwl/5vw9G7QMVpqwZL/OlRTt33GcfGcu
RayXbSLIF/NpPr6P0aNqTCKz0nrqIEMSkdega6o+Xbu1tXfCjvbv3g0+FXML/DLw
ZWLZE9IR0/bVVTaiJWG/VJWe8zd4FOWvlhw0SmJ8xWHByjlIg6VKcSGdPdqRqyrg
S1HasmN33qSjSm3uSm9T1uPd4pKW5Apmxdr3Z1BRZN127VaVzIonuREk6jKFAEsK
UL/Vz4fqs0clw2Cdsr7Q9TngduAoySWgjZEBlEoAiKPllpJBQDAGfVDz+SgnrpdX
kZRySoYbhyXxBhHnI2+WqF9FwoUUfQo/UnkQUFxrIDDxHhwRDHOL8EcDWaWX47m6
e4wL42Ig0FpaACJ9+i6luZb0oMm+UIMbJ1b3BArNhyjJiT1cqaUhJF+dV/ThE33M
H645pvJZC35WdCcxLwAGBt+Ik8fauFKKSmhTWlBsRTR8AUvrZ2gDl1Ca+QQ0+kOZ
NwN326XqOJQXK9KWPXC1jxpgROlbzdTUreb6LgYeU/cIOwIDAQABo4ICEjCCAg4w
DgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAM
BgNVHRMBAf8EAjAAMB0GA1UdDgQWBBR5mJ+bBIG3me3yNlxU3nSNt0WQ5zAfBgNV
HSMEGDAWgBS7vMNHpeS8qcbDpHIMEI2iNeHI6DBXBggrBgEFBQcBAQRLMEkwIgYI
KwYBBQUHMAGGFmh0dHA6Ly9yMTAuby5sZW5jci5vcmcwIwYIKwYBBQUHMAKGF2h0
dHA6Ly9yMTAuaS5sZW5jci5vcmcvMBoGA1UdEQQTMBGCDyoubWNrbmlnaHQudGVj
aDATBgNVHSAEDDAKMAgGBmeBDAECATCCAQMGCisGAQQB1nkCBAIEgfQEgfEA7wB1
AD8XS0/XIkdYlB1lHIS+DRLtkDd/H4Vq68G/KIXs+GRuAAABklB9avIAAAQDAEYw
RAIgFOoZH8uVmjMqhxTWeph4AfkYMKw8eo6uQtbcXW8SvVACIE7N5bIntC4C0tlJ
yVJv8iu4OBShJ/xNBSymkFOcZ1iNAHYAzxFW7tUufK/zh1vZaS6b6RpxZ0qwF+ys
AdJbd87MOwgAAAGSUH1rGAAABAMARzBFAiEAly4pBG0HUvldvnweun8JKdj9mauE
2Kq8oXvdKZRRshMCIAz2pmnhPpENMadHJ3AYjmH7rKSrGyT8etnXbcJv31ukMA0G
CSqGSIb3DQEBCwUAA4IBAQAGG3Q24CuRnt47sRqw2p09DspSIC47LadVH6wca6Q8
7j1pNe5mdXlynEakIO6675HjKuuucVGkO0rjP8S947anaEuVJkILYKzo3MqdD4kh
lZOBBbh0eRROUEAJYxy31UxRekz6StxZOB5ePWoElUvqelrP8Jfvp544VwJEoPiO
9hLuoYUOMg/PHu4pkFerxB9Ek2BGl0vYVsefW+lwAOUmZZmuxeSCgkaVhD8wO3ef
+0s6ikMPC+5CfcCRYdtXFrGH0wkJOdko7gNWvRreWcCbUUgQ/mye0q8Ztz4p4qqk
ojJpOzJ22noPoWuvn2ZgL7cSLPZs8o97QV0ZnrPd8OlB
-----END CERTIFICATE-----

6
log/logrotate.status Normal file
View file

@ -0,0 +1,6 @@
logrotate state -- version 2
"/var/log/acpid.log" 2024-5-7-2:0:0
"/config/log/nginx/access.log" 2025-1-5-2:0:0
"/var/log/php83/*.log" 2024-5-7-2:0:0
"/config/log/nginx/error.log" 2025-1-5-2:0:0
"/config/log/php/error.log" 2025-1-5-2:0:0

620000
log/nginx/access.log Normal file

File diff suppressed because it is too large Load diff

881436
log/nginx/access.log.1 Normal file

File diff suppressed because it is too large Load diff

BIN
log/nginx/access.log.10.gz Normal file

Binary file not shown.

BIN
log/nginx/access.log.11.gz Normal file

Binary file not shown.

BIN
log/nginx/access.log.12.gz Normal file

Binary file not shown.

BIN
log/nginx/access.log.13.gz Normal file

Binary file not shown.

BIN
log/nginx/access.log.14.gz Normal file

Binary file not shown.

BIN
log/nginx/access.log.2.gz Normal file

Binary file not shown.

BIN
log/nginx/access.log.3.gz Normal file

Binary file not shown.

BIN
log/nginx/access.log.4.gz Normal file

Binary file not shown.

BIN
log/nginx/access.log.5.gz Normal file

Binary file not shown.

BIN
log/nginx/access.log.6.gz Normal file

Binary file not shown.

BIN
log/nginx/access.log.7.gz Normal file

Binary file not shown.

BIN
log/nginx/access.log.8.gz Normal file

Binary file not shown.

BIN
log/nginx/access.log.9.gz Normal file

Binary file not shown.

50422
log/nginx/error.log Normal file

File diff suppressed because it is too large Load diff

60630
log/nginx/error.log.1 Normal file

File diff suppressed because it is too large Load diff

BIN
log/nginx/error.log.10.gz Normal file

Binary file not shown.

BIN
log/nginx/error.log.11.gz Normal file

Binary file not shown.

BIN
log/nginx/error.log.12.gz Normal file

Binary file not shown.

BIN
log/nginx/error.log.13.gz Normal file

Binary file not shown.

BIN
log/nginx/error.log.14.gz Normal file

Binary file not shown.

BIN
log/nginx/error.log.2.gz Normal file

Binary file not shown.

BIN
log/nginx/error.log.3.gz Normal file

Binary file not shown.

BIN
log/nginx/error.log.4.gz Normal file

Binary file not shown.

BIN
log/nginx/error.log.5.gz Normal file

Binary file not shown.

BIN
log/nginx/error.log.6.gz Normal file

Binary file not shown.

BIN
log/nginx/error.log.7.gz Normal file

Binary file not shown.

BIN
log/nginx/error.log.8.gz Normal file

Binary file not shown.

BIN
log/nginx/error.log.9.gz Normal file

Binary file not shown.

22
log/php/error.log Normal file
View file

@ -0,0 +1,22 @@
[05-Jan-2025 02:00:04] NOTICE: fpm is running, pid 1508
[05-Jan-2025 02:00:04] NOTICE: ready to handle connections
[07-Jan-2025 21:12:12] NOTICE: Terminating ...
[07-Jan-2025 21:12:12] NOTICE: exiting, bye-bye!
[07-Jan-2025 21:12:17] NOTICE: fpm is running, pid 273
[07-Jan-2025 21:12:17] NOTICE: ready to handle connections
[07-Jan-2025 21:15:44] NOTICE: Terminating ...
[07-Jan-2025 21:15:44] NOTICE: exiting, bye-bye!
[07-Jan-2025 21:15:48] NOTICE: fpm is running, pid 272
[07-Jan-2025 21:15:48] NOTICE: ready to handle connections
[07-Jan-2025 21:20:24] NOTICE: Terminating ...
[07-Jan-2025 21:20:24] NOTICE: exiting, bye-bye!
[07-Jan-2025 21:20:28] NOTICE: fpm is running, pid 274
[07-Jan-2025 21:20:28] NOTICE: ready to handle connections
[08-Jan-2025 11:04:41] NOTICE: Terminating ...
[08-Jan-2025 11:04:41] NOTICE: exiting, bye-bye!
[08-Jan-2025 11:04:47] NOTICE: fpm is running, pid 273
[08-Jan-2025 11:04:47] NOTICE: ready to handle connections
[08-Jan-2025 13:17:01] NOTICE: Terminating ...
[08-Jan-2025 13:17:01] NOTICE: exiting, bye-bye!
[08-Jan-2025 13:20:44] NOTICE: fpm is running, pid 272
[08-Jan-2025 13:20:44] NOTICE: ready to handle connections

4
log/php/error.log.1 Normal file
View file

@ -0,0 +1,4 @@
[29-Dec-2024 02:00:05] NOTICE: fpm is running, pid 629
[29-Dec-2024 02:00:05] NOTICE: ready to handle connections
[05-Jan-2025 02:00:02] NOTICE: Terminating ...
[05-Jan-2025 02:00:02] NOTICE: exiting, bye-bye!

BIN
log/php/error.log.2.gz Normal file

Binary file not shown.

BIN
log/php/error.log.3.gz Normal file

Binary file not shown.

BIN
log/php/error.log.4.gz Normal file

Binary file not shown.

BIN
log/php/error.log.5.gz Normal file

Binary file not shown.

BIN
log/php/error.log.6.gz Normal file

Binary file not shown.

BIN
log/php/error.log.7.gz Normal file

Binary file not shown.

13
nginx/dhparams.pem Normal file
View file

@ -0,0 +1,13 @@
-----BEGIN DH PARAMETERS-----
MIICCAKCAgEA//////////+t+FRYortKmq/cViAnPTzx2LnFg84tNpWp4TZBFGQz
+8yTnc4kmz75fS/jY2MMddj2gbICrsRhetPfHtXV/WVhJDP1H18GbtCFY2VVPe0a
87VXE15/V8k1mE8McODmi3fipona8+/och3xWKE2rec1MKzKT0g6eXq8CrGCsyT7
YdEIqUuyyOP7uWrat2DX9GgdT0Kj3jlN9K5W7edjcrsZCwenyO4KbXCeAvzhzffi
7MA0BM0oNC9hkXL+nOmFg/+OTxIy7vKBg8P+OxtMb61zO7X8vC7CIAXFjvGDfRaD
ssbzSibBsu/6iGtCOGEfz9zeNVs7ZRkDW7w09N75nAI4YbRvydbmyQd62R0mkff3
7lmMsPrBhtkcrv4TCYUTknC0EwyTvEN5RPT9RFLi103TZPLiHnH1S/9croKrnJ32
nuhtK8UiNjoNq8Uhl5sN6todv5pC1cRITgq80Gv6U93vPBsg7j/VnXwl5B0rZp4e
8W5vUsMWTfT7eTDp5OWIV7asfV9C1p9tGHdjzx1VA0AEh/VbpX4xzHpxNciG77Qx
iu1qHgEtnmgyqQdgCpGBMMRtx3j5ca0AOAkpmaMzy4t6Gh25PXFAADwqTs6p+Y0K
zAqCkc3OyX3Pjsm1Wn+IpGtNtahR9EGC4caKAH5eZV9q//////////8CAQI=
-----END DH PARAMETERS-----

5
nginx/local_only.conf Normal file
View file

@ -0,0 +1,5 @@
real_ip_header X-Forwarded-For;
set_real_ip_from 10.0.0.1;
allow 10.0.0.0/8;
allow 172.18.0.0/24;
deny all;

81
nginx/nginx.conf Normal file
View file

@ -0,0 +1,81 @@
## Version 2023/04/13 - Changelog: https://github.com/linuxserver/docker-baseimage-alpine-nginx/commits/master/root/defaults/nginx/nginx.conf.sample
### Based on alpine defaults
# https://git.alpinelinux.org/aports/tree/main/nginx/nginx.conf?h=3.19-stable
user abc;
# Set number of worker processes automatically based on number of CPU cores.
include /config/nginx/worker_processes.conf;
# Enables the use of JIT for regular expressions to speed-up their processing.
pcre_jit on;
# Configures default error logger.
error_log /config/log/nginx/error.log;
# Includes files with directives to load dynamic modules.
include /etc/nginx/modules/*.conf;
# Include files with config snippets into the root context.
include /etc/nginx/conf.d/*.conf;
events {
# The maximum number of simultaneous connections that can be opened by
# a worker process.
worker_connections 1024;
}
http {
# Includes mapping of file name extensions to MIME types of responses
# and defines the default type.
include /etc/nginx/mime.types;
default_type application/octet-stream;
# Name servers used to resolve names of upstream servers into addresses.
# It's also needed when using tcpsocket and udpsocket in Lua modules.
#resolver 1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001;
include /config/nginx/resolver.conf;
# Don't tell nginx version to the clients. Default is 'on'.
server_tokens off;
# Specifies the maximum accepted body size of a client request, as
# indicated by the request header Content-Length. If the stated content
# length is greater than this size, then the client receives the HTTP
# error code 413. Set to 0 to disable. Default is '1m'.
client_max_body_size 0;
# Sendfile copies data between one FD and other from within the kernel,
# which is more efficient than read() + write(). Default is off.
sendfile on;
# Causes nginx to attempt to send its HTTP response head in one packet,
# instead of using partial frames. Default is 'off'.
tcp_nopush on;
# all ssl related config moved to ssl.conf
# included in server blocks where listen 443 is defined
# Enable gzipping of responses.
#gzip on;
# Set the Vary HTTP header as defined in the RFC 2616. Default is 'off'.
gzip_vary on;
# Helper variable for proxying websockets.
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
# Sets the path, format, and configuration for a buffered log write.
access_log /config/log/nginx/access.log;
# Includes virtual hosts configs.
include /etc/nginx/http.d/*.conf;
include /config/nginx/site-confs/*.conf;
}
daemon off;
pid /run/nginx.pid;

95
nginx/nginx.conf.sample Normal file
View file

@ -0,0 +1,95 @@
## Version 2024/12/17 - Changelog: https://github.com/linuxserver/docker-baseimage-alpine-nginx/commits/master/root/defaults/nginx/nginx.conf.sample
### Based on alpine defaults
# https://git.alpinelinux.org/aports/tree/main/nginx/nginx.conf?h=3.21-stable
user abc;
# Set number of worker processes automatically based on number of CPU cores.
include /config/nginx/worker_processes.conf;
# Enables the use of JIT for regular expressions to speed-up their processing.
pcre_jit on;
# Configures default error logger.
error_log /config/log/nginx/error.log;
# Includes files with directives to load dynamic modules.
include /etc/nginx/modules/*.conf;
# Include files with config snippets into the root context.
include /etc/nginx/conf.d/*.conf;
events {
# The maximum number of simultaneous connections that can be opened by
# a worker process.
worker_connections 1024;
}
http {
# Includes mapping of file name extensions to MIME types of responses
# and defines the default type.
include /etc/nginx/mime.types;
default_type application/octet-stream;
# Name servers used to resolve names of upstream servers into addresses.
# It's also needed when using tcpsocket and udpsocket in Lua modules.
#resolver 1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001;
include /config/nginx/resolver.conf;
# Don't tell nginx version to the clients. Default is 'on'.
server_tokens off;
# Specifies the maximum accepted body size of a client request, as
# indicated by the request header Content-Length. If the stated content
# length is greater than this size, then the client receives the HTTP
# error code 413. Set to 0 to disable. Default is '1m'.
client_max_body_size 0;
# Sendfile copies data between one FD and other from within the kernel,
# which is more efficient than read() + write(). Default is off.
sendfile on;
# Causes nginx to attempt to send its HTTP response head in one packet,
# instead of using partial frames. Default is 'off'.
tcp_nopush on;
# all ssl related config moved to ssl.conf
# included in server blocks where listen 443 is defined
# Enable gzipping of responses.
#gzip on;
# Set the Vary HTTP header as defined in the RFC 2616. Default is 'off'.
gzip_vary on;
# Helper variable for proxying websockets.
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
# Enable http2 by default for all servers
http2 on;
# Sets the path, format, and configuration for a buffered log write.
access_log /config/log/nginx/access.log;
client_body_temp_path /tmp/nginx 1 2;
proxy_temp_path /tmp/nginx-proxy;
fastcgi_temp_path /tmp/nginx-fastcgi;
uwsgi_temp_path /tmp/nginx-uwsgi;
scgi_temp_path /tmp/nginx-scgi;
proxy_cache_path /tmp/nginx-proxy-cache keys_zone=lsio-proxy:10m;
fastcgi_cache_path /tmp/nginx-fcgi-cache keys_zone=lsio-fcgi:10m;
scgi_cache_path /tmp/nginx-scgi-cache keys_zone=lsio-scgi:10m;
uwsgi_cache_path /tmp/nginx-uwsgi-cache keys_zone=lsio-uwsgi:10m;
# Includes virtual hosts configs.
include /etc/nginx/http.d/*.conf;
include /config/nginx/site-confs/*.conf;
}
daemon off;
pid /run/nginx.pid;

25
nginx/proxy.conf Executable file
View file

@ -0,0 +1,25 @@
client_max_body_size 0;
client_body_buffer_size 128k;
#Timeout if the real server is dead
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
# Advanced Proxy Config
send_timeout 5m;
proxy_read_timeout 240;
proxy_send_timeout 240;
proxy_connect_timeout 240;
# Basic Proxy Config
proxy_set_header Host $host:$server_port;
proxy_set_header X-Client-IP $http_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_redirect http:// $scheme://;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_cache_bypass $cookie_session;
proxy_no_cache $cookie_session;
proxy_buffers 32 4k;
proxy_max_temp_file_size 2048m;

3
nginx/resolver.conf Normal file
View file

@ -0,0 +1,3 @@
# This file is auto-generated only on first start, based on the container's /etc/resolv.conf file. Feel free to modify it as you wish.
resolver 127.0.0.11 valid=30s;

View file

@ -0,0 +1,20 @@
## Version 2020/12/09
# make sure that your dns has a cname set for homeassistant and that your homeassistant container is not using a base url
server {
listen 80;
listen 443 ssl;
server_name audiobooks.*;
include /config/nginx/ssl.conf;
# include /config/nginx/local_only.conf;
location / {
include /config/nginx/proxy.conf;
# include /config/nginx/resolver.conf;
proxy_pass http://audiobookshelf;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
}

View file

@ -0,0 +1,13 @@
server {
listen 80;
listen 443 ssl;
server_name blog.*;
include /config/nginx/ssl.conf;
location / {
include /config/nginx/resolver.conf;
include /config/nginx/proxy.conf;
proxy_pass http://hexo-blog:8080/;
}
}

View file

@ -0,0 +1,49 @@
server {
listen 80;
listen 443 ssl;
server_name cloud.*;
include /config/nginx/ssl.conf;
add_header Front-End-Https on;
add_header X-Robots-Tag "noindex, nofollow" always;
add_header Referrer-Policy no-referrer-when-downgrade;
location / {
include /config/nginx/resolver.conf;
include /config/nginx/proxy.conf;
proxy_set_header X-Forwarded-Host cloud.mcknight.tech;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Ssl on;
proxy_pass https://Nextcloud:443/;
}
# location /.well-known/caldav {
# return 301 $scheme://$host/remote.php/dav;
# }
#
# location /.well-known/webfinger {
# return 301 $scheme://$host/index.php/.well-known/webfinger;
# }
# Make a regex exception for `/.well-known` so that clients can still
# access it despite the existence of the regex rule
# `location ~ /(\.|autotest|...)` which would otherwise handle requests
# for `/.well-known`.
location ^~ /.well-known {
# The rules in this block are an adaptation of the rules
# in `.htaccess` that concern `/.well-known`.
location = /.well-known/carddav { return 301 /remote.php/dav/; }
location = /.well-known/caldav { return 301 /remote.php/dav/; }
location ^~ /.well-known { return 301 /index.php$uri; }
location /.well-known/acme-challenge { try_files $uri $uri/ =404; }
location /.well-known/pki-validation { try_files $uri $uri/ =404; }
# Let Nextcloud's API for `/.well-known` URIs handle all other
# requests by passing them to the front-end controller.
return 301 /index.php$request_uri;
}
}

View file

@ -0,0 +1,45 @@
## Version 2024/03/06 - Changelog: https://github.com/linuxserver/docker-baseimage-alpine-nginx/commits/master/root/defaults/nginx/site-confs/default.conf.sample
server {
listen 80 default_server;
# listen [::]:80 default_server;
listen 443 ssl http2 default_server;
# listen [::]:443 ssl http2 default_server;
server_name _;
include /config/nginx/ssl.conf;
set $root /app/www/public;
if (!-d /app/www/public) {
set $root /config/www;
}
root $root;
index index.html index.htm index.php;
location / {
# enable for basic auth
#auth_basic "Restricted";
#auth_basic_user_file /config/nginx/.htpasswd;
try_files $uri $uri/ /index.html /index.htm /index.php$is_args$args;
}
location ~ ^(.+\.php)(.*)$ {
# enable the next two lines for http auth
#auth_basic "Restricted";
#auth_basic_user_file /config/nginx/.htpasswd;
fastcgi_split_path_info ^(.+\.php)(.*)$;
if (!-f $document_root$fastcgi_script_name) { return 404; }
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
# deny access to .htaccess/.htpasswd files
location ~ /\.ht {
deny all;
}
}

View file

@ -0,0 +1,44 @@
## Version 2024/07/16 - Changelog: https://github.com/linuxserver/docker-baseimage-alpine-nginx/commits/master/root/defaults/nginx/site-confs/default.conf.sample
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
server_name _;
include /config/nginx/ssl.conf;
set $root /app/www/public;
if (!-d /app/www/public) {
set $root /config/www;
}
root $root;
index index.html index.htm index.php;
location / {
# enable for basic auth
#auth_basic "Restricted";
#auth_basic_user_file /config/nginx/.htpasswd;
try_files $uri $uri/ /index.html /index.htm /index.php$is_args$args;
}
location ~ ^(.+\.php)(.*)$ {
# enable the next two lines for http auth
#auth_basic "Restricted";
#auth_basic_user_file /config/nginx/.htpasswd;
fastcgi_split_path_info ^(.+\.php)(.*)$;
if (!-f $document_root$fastcgi_script_name) { return 404; }
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
# deny access to .htaccess/.htpasswd files
location ~ /\.ht {
deny all;
}
}

View file

@ -0,0 +1,15 @@
server {
listen 80;
listen 443 ssl;
server_name forge.*;
include /config/nginx/ssl.conf;
location / {
include /config/nginx/resolver.conf;
include /config/nginx/proxy.conf;
proxy_pass http://Forgejo:3000;
#proxy_pass https://GitLab:9443;
proxy_set_header X-Forwarded-Ssl on;
}
}

View file

@ -0,0 +1,16 @@
server {
listen 80;
listen 443 ssl;
server_name frigate.*;
include /config/nginx/ssl.conf;
include /config/nginx/local_only.conf;
location / {
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_pass http://Frigate:5000/;
}
}

15
nginx/site-confs/git.conf Normal file
View file

@ -0,0 +1,15 @@
server {
listen 80;
listen 443 ssl;
server_name git.mcknight.tech;
rewrite ^/(.*)$ https://forge.mcknight.tech/$1 redirect;
include /config/nginx/ssl.conf;
# location / {
# include /config/nginx/resolver.conf;
# include /config/nginx/proxy.conf;
# proxy_pass http://Forgejo:3000;
# #proxy_pass https://GitLab:9443;
# proxy_set_header X-Forwarded-Ssl on;
# }
}

View file

@ -0,0 +1,14 @@
server {
listen 80;
listen 443 ssl;
server_name grafana.*;
include /config/nginx/ssl.conf;
include /config/nginx/local_only.conf;
location / {
include /config/nginx/resolver.conf;
include /config/nginx/proxy.conf;
proxy_pass http://Grafana:3000/;
}
}

View file

@ -0,0 +1,14 @@
server {
listen 80;
listen 443 ssl;
server_name home.*;
include /config/nginx/ssl.conf;
include /config/nginx/local_only.conf;
location / {
include /config/nginx/resolver.conf;
include /config/nginx/proxy.conf;
proxy_pass http://homepage:3000/;
}
}

View file

@ -0,0 +1,36 @@
## Version 2020/12/09
# make sure that your dns has a cname set for homeassistant and that your homeassistant container is not using a base url
server {
listen 80;
listen 443 ssl;
server_name homeassistant.*;
include /config/nginx/ssl.conf;
# include /config/nginx/local_only.conf;
client_max_body_size 0;
location / {
include /config/nginx/proxy.conf;
# include /config/nginx/resolver.conf;
set $upstream_app homeassistant;
set $upstream_port 8123;
set $upstream_proto http;
proxy_pass $upstream_proto://10.0.0.100:$upstream_port;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
location /api {
include /config/nginx/proxy.conf;
# include /config/nginx/resolver.conf;
set $upstream_app homeassistant;
set $upstream_port 8123;
set $upstream_proto http;
proxy_pass $upstream_proto://10.0.0.100:$upstream_port;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
}

View file

@ -0,0 +1,14 @@
server {
listen 80;
listen 443 ssl;
server_name influx.*;
include /config/nginx/ssl.conf;
include /config/nginx/local_only.conf;
location / {
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
proxy_pass http://Influxdb:8086/;
}
}

View file

@ -0,0 +1,13 @@
server {
listen 80;
listen 443 ssl;
server_name inventory.*;
include /config/nginx/ssl.conf;
location / {
include /config/nginx/resolver.conf;
include /config/nginx/proxy.conf;
proxy_pass http://Homebox:7745/;
}
}

View file

@ -0,0 +1,36 @@
server {
listen 80;
listen 443 ssl;
server_name jellyfin.*;
include /config/nginx/ssl.conf;
location / {
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
proxy_pass http://jellyfin:8096/;
#proxy_set_header Host $host;
#proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Protocol $scheme;
proxy_set_header X-Forwarded-Host $http_host;
# Disable buffering when the nginx proxy gets very resource heavy upon streaming
proxy_buffering off;
}
location /socket {
# Proxy Jellyfin Websockets traffic
proxy_pass http://jellyfin:8096;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Protocol $scheme;
proxy_set_header X-Forwarded-Host $http_host;
}
}

View file

@ -0,0 +1,28 @@
server {
listen 80;
listen 443 ssl http2;
listen 8448 ssl http2 default_server;
server_name matrix.*;
include /config/nginx/ssl.conf;
location ~ ^(/_matrix|/_synapse/client) {
include /config/nginx/resolver.conf;
# include /config/nginx/proxy.conf;
proxy_pass https://Matrix:8008;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;
client_max_body_size 50M;
}
location /.well-known/matrix/client {
return 200 '{"m.homeserver": {"base_url": "https://matrix.mcknight.tech"}}';
default_type application/json;
add_header Access-Control-Allow-Origin *;
}
location /.well-known/matrix/server {
return 200 '{"m.server": {"base_url": "https://matrix.mcknight.tech:8448"}}';
default_type application/json;
add_header Access-Control-Allow-Origin *;
}
}

View file

@ -0,0 +1,15 @@
server {
listen 80;
listen 443 ssl;
server_name minio.*;
include /config/nginx/ssl.conf;
include /config/nginx/local_only.conf;
location / {
proxy_pass https://10.0.0.97:9002;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
chunked_transfer_encoding off;
}
}

21
nginx/site-confs/nas.conf Normal file
View file

@ -0,0 +1,21 @@
upstream nas {
# server 192.168.1.97:80;
server 10.0.0.97:80;
}
server {
listen 80;
listen 443 ssl;
server_name nas.*;
include /config/nginx/ssl.conf;
include /config/nginx/local_only.conf;
location / {
include /config/nginx/proxy.conf;
proxy_set_header X-Forwarded-Host $host;
allow 10.0.0.0/8;
deny all;
proxy_pass http://nas;
}
}

View file

@ -0,0 +1,13 @@
server {
listen 80;
listen 443 ssl;
server_name opnsense.*;
include /config/nginx/ssl.conf;
include /config/nginx/local_only.conf;
location / {
include /config/nginx/proxy.conf;
proxy_pass https://10.0.10.1:4430;
}
}

View file

@ -0,0 +1,36 @@
#BITWARDEN
# make sure that your domain has dns has a cname or a record set for the subdomain bitwarden
# This config file will work as is when using a custom docker network the same as letesencrypt (proxynet).
# However the container name is expected to be "bitwardenrs" as it is by default the template as this name is used to resolve.
# If you are not using the custom docker network for this container then change the line "server bitwardenrs:80;" to "server [YOUR_SERVER_IP]:8086;" Also remove line 7
#upstream bitwarden {
# server 10.0.0.100:38080;
#}
server {
listen 80;
listen 443 ssl;
server_name pass.*;
include /config/nginx/ssl.conf;
client_max_body_size 128M;
location / {
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
proxy_pass http://Vaultwarden;
proxy_set_header Host $host;
}
location /notifications/hub {
include /config/nginx/resolver.conf;
proxy_pass http://Vaultwarden;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /notifications/hub/negotiate {
include /config/nginx/resolver.conf;
proxy_pass http://Vaultwarden;
}
}

View file

@ -0,0 +1,14 @@
server {
listen 80;
listen 443 ssl;
server_name photos.*;
include /config/nginx/ssl.conf;
include /config/nginx/local_only.conf;
location / {
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
proxy_pass http://immich:8080/;
}
}

View file

@ -0,0 +1,14 @@
server {
listen 80;
listen 443 ssl;
server_name phpmyadmin.*;
include /config/nginx/ssl.conf;
include /config/nginx/local_only.conf;
location / {
include /config/nginx/resolver.conf;
include /config/nginx/proxy.conf;
proxy_pass http://phpmyadmin:80/;
}
}

View file

@ -0,0 +1,13 @@
server {
listen 80;
listen 443 ssl;
server_name plex.*;
include /config/nginx/ssl.conf;
location / {
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
proxy_pass http://10.0.0.100:32400/;
}
}

17
nginx/site-confs/s3.conf Normal file
View file

@ -0,0 +1,17 @@
server {
listen 80;
listen 443 ssl;
server_name s3.*;
include /config/nginx/ssl.conf;
ignore_invalid_headers off;
proxy_buffering off;
location / {
proxy_pass https://10.0.0.97:9000;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
chunked_transfer_encoding off;
}
}

View file

@ -0,0 +1,14 @@
server {
listen 80;
listen 443 ssl;
server_name tautulli.mcknight.tech;
include /config/nginx/ssl.conf;
include /config/nginx/local_only.conf;
location / {
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
proxy_pass http://tautulli:8181/;
}
}

View file

@ -0,0 +1,24 @@
server {
listen 80;
listen 443 ssl;
server_name unifi.*;
include /config/nginx/ssl.conf;
include /config/nginx/local_only.conf;
location /ws {
include /config/nginx/resolver.conf;
proxy_pass https://unifi-network-application:8443;
proxy_http_version 1.1;
proxy_buffering off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_read_timeout 86400;
}
location / {
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
proxy_pass https://unifi-network-application:8443;
}
}

View file

@ -0,0 +1,50 @@
server {
listen 80;
listen 443 ssl;
server_name unraid.mcknight.tech;
include /config/nginx/ssl.conf;
include /config/nginx/local_only.conf;
location / {
include /config/nginx/proxy.conf;
proxy_pass http://10.0.0.100:81;
proxy_set_header Host $http_host;
# proxy_set_header X-Forwarded-Proto $scheme;
# proxy_set_header X-Forwarded-Host $host;
# WebSocket support
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_ssl_verify off;
# proxy_set_header Access-Control-Allow-Origin 10.0.0.100;
# proxy_set_header X-NginX-Proxy true;
# proxy_max_temp_file_size 2048m;
}
# location /sub {
# set $upstream_proto ws;
# proxy_pass $upstream_proto://10.0.0.100:81/sub;
# proxy_set_header Upgrade $http_upgrade;
# proxy_set_header Connection "Upgrade";
# proxy_set_header Host $host;
# proxy_http_version 1.1;
# proxy_set_header Upgrade $http_upgrade;
# proxy_set_header Connection "upgrade";
# allow 10.0.0.0/8;
# deny all;
# }
# location /sub {
# include /config/nginx/resolver.conf;
# proxy_pass http://10.0.0.100:81/sub/;
# proxy_http_version 1.1;
# proxy_buffering off;
# proxy_set_header Upgrade $http_upgrade;
# proxy_set_header Connection "Upgrade";
# proxy_read_timeout 86400;
# }
}

View file

@ -0,0 +1,13 @@
server {
listen 80;
listen 443 ssl;
server_name uptime.*;
include /config/nginx/ssl.conf;
location / {
include /config/nginx/resolver.conf;
include /config/nginx/proxy.conf;
proxy_pass http://UptimeKuma:3001/;
}
}

View file

@ -0,0 +1,14 @@
server {
listen 80;
listen 443 ssl;
server_name zwave.*;
include /config/nginx/ssl.conf;
include /config/nginx/local_only.conf;
location / {
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
proxy_pass http://zwavejs2mqtt:8091/;
}
}

39
nginx/ssl.conf Normal file
View file

@ -0,0 +1,39 @@
## Version 2023/08/13 - Changelog: https://github.com/linuxserver/docker-baseimage-alpine-nginx/commits/master/root/defaults/nginx/ssl.conf.sample
### Mozilla Recommendations
# generated 2023-06-25, Mozilla Guideline v5.7, nginx 1.24.0, OpenSSL 3.1.1, intermediate configuration
# https://ssl-config.mozilla.org/#server=nginx&version=1.24.0&config=intermediate&openssl=3.1.1&guideline=5.7
ssl_certificate /config/keys/cert.crt;
ssl_certificate_key /config/keys/cert.key;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m; # about 40000 sessions
ssl_session_tickets off;
# curl https://ssl-config.mozilla.org/ffdhe2048.txt > /path/to/dhparam
ssl_dhparam /config/nginx/dhparams.pem;
# intermediate configuration
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305;
ssl_prefer_server_ciphers off;
# HSTS (ngx_http_headers_module is required) (63072000 seconds)
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
# OCSP stapling
#ssl_stapling on;
#ssl_stapling_verify on;
# verify chain of trust of OCSP response using Root CA and Intermediate certs
#ssl_trusted_certificate /config/keys/cert.crt;
# Optional additional headers
#add_header Cache-Control "no-transform" always;
#add_header Content-Security-Policy "upgrade-insecure-requests; frame-ancestors 'self'" always;
#add_header Permissions-Policy "interest-cohort=()" always;
#add_header Referrer-Policy "same-origin" always;
#add_header X-Content-Type-Options "nosniff" always;
#add_header X-Frame-Options "SAMEORIGIN" always;
#add_header X-UA-Compatible "IE=Edge" always;
#add_header X-XSS-Protection "1; mode=block" always;

32
nginx/ssl.conf.sample Normal file
View file

@ -0,0 +1,32 @@
## Version 2024/12/06 - Changelog: https://github.com/linuxserver/docker-baseimage-alpine-nginx/commits/master/root/defaults/nginx/ssl.conf.sample
### Mozilla Recommendations
# generated 2024-12-06, Mozilla Guideline v5.7, nginx 1.26.2, OpenSSL 3.3.2, intermediate config, no OCSP
# https://ssl-config.mozilla.org/#server=nginx&version=1.26.2&config=intermediate&openssl=3.3.2&ocsp=false&guideline=5.7
ssl_certificate /config/keys/cert.crt;
ssl_certificate_key /config/keys/cert.key;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m; # about 40000 sessions
ssl_session_tickets off;
# curl https://ssl-config.mozilla.org/ffdhe2048.txt > /path/to/dhparam
ssl_dhparam /config/nginx/dhparams.pem;
# intermediate configuration
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305;
ssl_prefer_server_ciphers off;
# HSTS (ngx_http_headers_module is required) (63072000 seconds)
#add_header Strict-Transport-Security "max-age=63072000" always;
# Optional additional headers
#add_header Cache-Control "no-transform" always;
#add_header Content-Security-Policy "upgrade-insecure-requests; frame-ancestors 'self'" always;
#add_header Permissions-Policy "interest-cohort=()" always;
#add_header Referrer-Policy "same-origin" always;
#add_header X-Content-Type-Options "nosniff" always;
#add_header X-Frame-Options "SAMEORIGIN" always;
#add_header X-UA-Compatible "IE=Edge" always;
#add_header X-XSS-Protection "1; mode=block" always;

View file

@ -0,0 +1,3 @@
# This file is auto-generated only on first start, based on the cpu cores detected. Feel free to change it to any other number or to auto to let nginx handle it automatically.
worker_processes 24;

2
php/php-local.ini Normal file
View file

@ -0,0 +1,2 @@
; Edit this file to override php.ini directives

5
php/www2.conf Normal file
View file

@ -0,0 +1,5 @@
; Edit this file to override www.conf and php-fpm.conf directives and restart the container
; Pool name
[www]

33
www/index.html Normal file
View file

@ -0,0 +1,33 @@
<html>
<head>
<title>Welcome to mcknight.tech</title>
<style>
body{
font-family: Helvetica, Arial, sans-serif;
}
.message{
width:330px;
padding:20px 40px;
margin:0 auto;
background-color:#f9f9f9;
border:1px solid #ddd;
}
center{
margin:40px 0;
}
h1{
font-size: 18px;
line-height: 26px;
}
p{
font-size: 12px;
}
</style>
</head>
<body>
<div class="message">
<h1>Welcome to my server</h1>
<p>Nothing to see here...</p>
</div>
</body>
</html>