From 60ab0b1bc36b592b23bb7218f504d9fb9a9957f2 Mon Sep 17 00:00:00 2001 From: Deon George Date: Mon, 10 Feb 2025 20:29:02 +1100 Subject: [PATCH] Initial setup --- Caddyfile | 48 + default.crt | 25 + default.key | 28 + docker/Dockerfile | 15 + maintenance/maintenance.html | 2173 +++++++++++++++++++++++++++ maintenance/timeout.html | 2707 ++++++++++++++++++++++++++++++++++ 6 files changed, 4996 insertions(+) create mode 100644 Caddyfile create mode 100644 default.crt create mode 100644 default.key create mode 100644 docker/Dockerfile create mode 100644 maintenance/maintenance.html create mode 100644 maintenance/timeout.html diff --git a/Caddyfile b/Caddyfile new file mode 100644 index 0000000..d74400e --- /dev/null +++ b/Caddyfile @@ -0,0 +1,48 @@ +{ + #admin off + #auto_https disable_redirects + #debug true + email deon@dege.au + #log { + # level DEBUG + #} + #order abort before handle + http_port 80 + https_port 443 + + servers :80 { + name http + } + servers :443 { + name https + } +} + +(docker-proxy) { + encode zstd gzip + + handle_errors { + @maintenance expression {http.error.status_code} == 502 + rewrite @maintenance maintenance.html + @timeout expression {http.error.status_code} == 503 + rewrite @timeout timeout.html + + root * /var/www/html + file_server + } + + header { + -Server + } + + reverse_proxy {args[0]} +} + +import /etc/caddy/sites/*.conf + +# Abort any http requests to a site we dont have configured +http:// { + handle { + abort + } +} diff --git a/default.crt b/default.crt new file mode 100644 index 0000000..824fb72 --- /dev/null +++ b/default.crt @@ -0,0 +1,25 @@ +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIJALsoV61BAIR7MA0GCSqGSIb3DQEBCwUAMGAxCzAJBgNV +BAYTAkFVMQwwCgYDVQQIEwNWSUMxEjAQBgNVBAcTCU1lbGJvdXJuZTENMAsGA1UE +ChMEQUNNRTEMMAoGA1UECxMDV2ViMRIwEAYDVQQDEwlsb2NhbGhvc3QwHhcNMTgw +NjE5MjAxNTE5WhcNMjgwNjE2MjAxNTE5WjBgMQswCQYDVQQGEwJBVTEMMAoGA1UE +CBMDVklDMRIwEAYDVQQHEwlNZWxib3VybmUxDTALBgNVBAoTBEFDTUUxDDAKBgNV +BAsTA1dlYjESMBAGA1UEAxMJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEAv0hEQONbM1iz6nwTWwFuByY0sBK8hXlgyOTJftnQr+ffhKXn +f30WovFmy1FBTUDa42T5Fsa6aihw+QAuLFtnMogZRIqp8Ow9ovGLv7Wo6KRoQ6Db +JJ0FofUBiMVQy79/alUlgEYwuPlgjWwl7+pPZobXjaytAfK7WcGxMKiy6cBpFHMD +LOGNsnjSyFDZtRSMyOd07SZDhS1J5IV25v76URsyYQU+kriqZK8AkC2emz/hkcVF +10nlli2R6JsidiwN4JAPG1zKA3p0Ki0R6uG//1dQ9MuCIiCZkJklmg3ZmhjpBCY0 +n+nB+F3XSDsyYR7MWZvfRHyx3w/WVpGdVymmrwIDAQABo4HmMIHjMBEGCWCGSAGG ++EIBAQQEAwIGQDAdBgNVHQ4EFgQUV31E9ULcEQkSmlgq1uQ0WiyR/DswgZIGA1Ud +IwSBijCBh4AUV31E9ULcEQkSmlgq1uQ0WiyR/DuhZKRiMGAxCzAJBgNVBAYTAkFV +MQwwCgYDVQQIEwNWSUMxEjAQBgNVBAcTCU1lbGJvdXJuZTENMAsGA1UEChMEQUNN +RTEMMAoGA1UECxMDV2ViMRIwEAYDVQQDEwlsb2NhbGhvc3SCCQC7KFetQQCEezAa +BgNVHREEEzARhwR/AAABgglsb2NhbGhvc3QwDQYJKoZIhvcNAQELBQADggEBAAZL +WWeY7sbVX6noNjiQWe9jzBKG994f5/Q5dpqT6ZHpLsSU2AQ85QfUXma3rAPwSj0+ +C4V7IRlrwlFXXqe8LxWxEJo0DlHOqDZTxQpHvmwATRxTBHDOS4kMjbj5oAwq0yXz +dNxxOI5Pv9j6VIMMIgW6dFnh/GRG5w5lndtWisCU8ydG/PkeMkvi3OTQDTq64qgp +lt0OTDkTyoWmpq46k3NDR2n6ar7DwEmamMWPkR9rNLjOde2AlKMuNZ4wUMVAYasr +xDMmMCe/matHd6Ry2kvBkBRFkFaJyR2+D2vpYSbT8fSFOKv6w+5qJI8pOQ1Yn+Di +3+EttBcVhrZfxoL8jYw= +-----END CERTIFICATE----- diff --git a/default.key b/default.key new file mode 100644 index 0000000..4cccc71 --- /dev/null +++ b/default.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC/SERA41szWLPq +fBNbAW4HJjSwEryFeWDI5Ml+2dCv59+Eped/fRai8WbLUUFNQNrjZPkWxrpqKHD5 +AC4sW2cyiBlEiqnw7D2i8Yu/tajopGhDoNsknQWh9QGIxVDLv39qVSWARjC4+WCN +bCXv6k9mhteNrK0B8rtZwbEwqLLpwGkUcwMs4Y2yeNLIUNm1FIzI53TtJkOFLUnk +hXbm/vpRGzJhBT6SuKpkrwCQLZ6bP+GRxUXXSeWWLZHomyJ2LA3gkA8bXMoDenQq +LRHq4b//V1D0y4IiIJmQmSWaDdmaGOkEJjSf6cH4XddIOzJhHsxZm99EfLHfD9ZW +kZ1XKaavAgMBAAECggEAaJje4dCxZVGDCJ0ShHgyr2wf8Yw9VIt79j7NRDVdXWNh +IYsLHPbM8wsoV9O17sWhLClh4CeJdlVo+XA0z4Kn2sT7dDSTGzBDwB9veMSgeZ61 +eQ2z58CJfPeaAC1NsiykQwQOfqdjKzMKrirOT/QDuR/RLSKYdHFEK5+0AdSuCQ2A +PV68FX6BnKfR/LDt6auN43ISdrnXRFna5Helyel2l3Jv/ooz9FeeTbXUa9cQcrXM +tMvd8GMr4oLnhKROcec0bTOy/3ZymbEvjjQvgxukivLLOUbQiwp2lfQWcFna4cOL +apGeameOHQceF4iIibnbDo073jS3m02WBH0ScRsj2QKBgQDxRWZWSGuJkFQOoW/b +uuwu26RAFdXLsxr2G9XMIZR+rpmhq5EoM4CL/YI5syChgYgxAj8UfwYg93wuGkN8 +5VPhuytH5MIDsXq9Ci2b+WQrF5sxDK3MA3FieFZByVX80JNXtVUudzqQ6wJ1OEsY +wB+h2Uu9zssNZVugPh3wb5BsLQKBgQDK9aN97C3JtLW+xOoEYW1iCputwoDWIIqk +i6fi0mTQiQ+YbliaXWS/F7tJrUHvFFgJLZcpDKaEaN5WFjFHU+1zUDtotEiJ7bTQ +fuoyWY/8VpWn6RKwukL+mfIm2n7ZT6FC8YBU6lRPEmuGwrvuUstmIcKaAJ2bPvRt +vhRRY3u7ywKBgDIjPOADTq2Ym48qxyb/UiNuq1RR9UrOXnT0VdqEw+oLeIubLqAP +C9CLjutUqRxG4bllgRxORUTGiTy/YnTq5yKKlbTr+dFwqVPtcIrwKXu2/R4VR2yU +7pQK88naAA94fJYGbbwpNLd2ztzzJM/w5OHqWQ4JkjKndIH5Rpl3ZajFAoGABWqa +y2CDNE/bTdUJfcZv2d74mqGHOK+zo4KKn3YH9LzDqsi/GpeFecgTWnsCOHQtiUkr +MJBC3WPDEz8SX5nwy1QH0dqF2RB789h/PYrAWfahldKVihveb9cB7GGGYxxJ7HRv +fVSnnVibgAQwacLR5M7f16ZOjncWpNsexbFG+xMCgYEAj1V64k9Lz554EDCNZMQS +mzgqYg6ck+GYL/W6hdE/N3zc+KJKF4ztM/c987BbFgpJQp+uYF43jRmOcv1Oab43 +mpuvZ2rDSPqrqM+fdHIx2oLPNBdBc9abTX7sQtK4WSTp16gs+MqfMWRklxWsMwWE +fO6SmAU27aAzfOccuvx3glQ= +-----END PRIVATE KEY----- diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..fa10ddc --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,15 @@ +FROM caddy:alpine + +# Change to http respositories, so they we can cache the install packages +RUN if [ -n "${HTTP_PROXY}" ] ; then echo "Using HTTP PROXY [${HTTP_PROXY}]" && sed -i -e s'/https/http/' /etc/apk/repositories; fi + +# Configuration +COPY Caddyfile /etc/caddy/Caddyfile +COPY default.key default.crt /etc/caddy/ssl/ +COPY maintenance /var/www/html +RUN mkdir /etc/caddy/sites + +# Starting +EXPOSE 80 443 25 110 143 +CMD ["caddy","run","--config","/etc/caddy/Caddyfile","--adapter","caddyfile","--resume"] +VOLUME [ "${XDG_DATA_HOME}" ] diff --git a/maintenance/maintenance.html b/maintenance/maintenance.html new file mode 100644 index 0000000..89c7eb6 --- /dev/null +++ b/maintenance/maintenance.html @@ -0,0 +1,2173 @@ + + + + + + Site Maintenance + + + + +
+

We’ll be back very soon!

+ +
+

Sorry for the inconvenience but we’re making some important changes. It shouldn’t take very long.

+

We plan to be back online within 15 minutes.

+
+
+ +
Minutes
+
+
+ +
Seconds
+
+
+
+
+ + + diff --git a/maintenance/timeout.html b/maintenance/timeout.html new file mode 100644 index 0000000..fa89f58 --- /dev/null +++ b/maintenance/timeout.html @@ -0,0 +1,2707 @@ + + + + + + Server Timeout + + + + +
+

The remote server is not responding?

+ +
+

Sorry for the inconvenience but the remote server is not responding.

+

We'll try again in 2 minutes, but if it still isnt responding, please let us know.

+
+
+ +
Minutes
+
+
+ +
Seconds
+
+
+
+
+ + + +