Add TLS feature with Caddy
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
function parsePort({
|
||||
value,
|
||||
fallback,
|
||||
}: {
|
||||
value?: string;
|
||||
fallback: number;
|
||||
}) {
|
||||
const parsed = Number(value);
|
||||
|
||||
if (!Number.isInteger(parsed) || parsed < 1 || parsed > 65535) {
|
||||
return fallback;
|
||||
}
|
||||
|
||||
return parsed;
|
||||
}
|
||||
|
||||
export const TlsData = {
|
||||
/** Public HTTPS port Caddy listens on. Never 80/443. */
|
||||
CaddyHttpsPort: parsePort({
|
||||
value: process.env.CADDY_HTTPS_PORT,
|
||||
fallback: 8443,
|
||||
}),
|
||||
/** Plain HTTP port for Caddy redirects/bootstrap. Never port 80. */
|
||||
CaddyHttpPort: parsePort({
|
||||
value: process.env.CADDY_HTTP_PORT,
|
||||
fallback: 8081,
|
||||
}),
|
||||
/** Default acme.sh DNS provider id, e.g. dns_cf. */
|
||||
DefaultDnsProvider: process.env.ACME_DNS_PROVIDER || "",
|
||||
/** Use the Let's Encrypt staging endpoint. */
|
||||
AcmeStaging: process.env.ACME_STAGING == "1",
|
||||
/** Keep the ingress port closed unless a route is enabled. */
|
||||
IngressEnabled: process.env.CADDY_INGRESS_ENABLED != "0",
|
||||
RenewBeforeDays: 30,
|
||||
} as const;
|
||||
Reference in New Issue
Block a user