From 1f1b071ca8fe00070695b4c22ab4d144067dda68 Mon Sep 17 00:00:00 2001 From: Toby Date: Fri, 8 Sep 2023 18:41:15 -0700 Subject: [PATCH] feat: provide HYSTERIA_ACME_DIR to control acme data directory --- app/cmd/root.go | 1 + app/cmd/server.go | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/cmd/root.go b/app/cmd/root.go index 18a5e75..d79c439 100644 --- a/app/cmd/root.go +++ b/app/cmd/root.go @@ -24,6 +24,7 @@ const ( appLogLevelEnv = "HYSTERIA_LOG_LEVEL" appLogFormatEnv = "HYSTERIA_LOG_FORMAT" appDisableUpdateCheckEnv = "HYSTERIA_DISABLE_UPDATE_CHECK" + appACMEDirEnv = "HYSTERIA_ACME_DIR" ) var ( diff --git a/app/cmd/server.go b/app/cmd/server.go index 0240dbd..2d20022 100644 --- a/app/cmd/server.go +++ b/app/cmd/server.go @@ -232,7 +232,11 @@ func (c *serverConfig) fillTLSConfig(hyConfig *server.Config) error { // ACME dataDir := c.ACME.Dir if dataDir == "" { - dataDir = "acme" + // If not specified in the config, check the environment variable + // before resorting to the default "acme" value. The main reason + // we have this is so that our setup script can set it to the + // user's home directory. + dataDir = envOrDefaultString(appACMEDirEnv, "acme") } cmCfg := &certmagic.Config{ RenewalWindowRatio: certmagic.DefaultRenewalWindowRatio,