diff --git a/.docker.env b/.docker.env index 00c31856..d46ae715 100644 --- a/.docker.env +++ b/.docker.env @@ -23,6 +23,8 @@ REDIS_HOST=redis REDIS_PORT=6379 REDIS_PASSWORD= REDIS_DB= +REDIS_SSL=false +REDIS_KEYPREFIX= # Disable registration DISALLOW_REGISTRATION=false diff --git a/.example.env b/.example.env index f739887d..7c8bbd57 100644 --- a/.example.env +++ b/.example.env @@ -25,6 +25,10 @@ REDIS_PASSWORD= # Optional: The number for Redis database, between 0 and 15. Defaults to 0. # If you don't know what this is, then you probably don't need to change it. REDIS_DB=0 +# Optional: Add rediss:// to the connection string +REDIS_SSL=false +# Optional: Prefix for keys in Redis +REDIS_KEYPREFIX= # Disable registration DISALLOW_REGISTRATION=false diff --git a/server/env.ts b/server/env.ts index 075178c0..8d780c6a 100644 --- a/server/env.ts +++ b/server/env.ts @@ -20,6 +20,8 @@ const env = cleanEnv(process.env, { REDIS_PORT: num({ default: 6379 }), REDIS_PASSWORD: str({ default: "" }), REDIS_DB: num({ default: 0 }), + REDIS_SSL: bool({ default: false }), + REDIS_KEYPREFIX: str({ default: "" }), USER_LIMIT_PER_DAY: num({ default: 50 }), NON_USER_COOLDOWN: num({ default: 10 }), DEFAULT_MAX_STATS_PER_LINK: num({ default: 5000 }), diff --git a/server/redis.ts b/server/redis.ts index 7df6f7cb..7e2806dc 100644 --- a/server/redis.ts +++ b/server/redis.ts @@ -6,7 +6,9 @@ const client = new Redis({ host: env.REDIS_HOST, port: env.REDIS_PORT, db: env.REDIS_DB, - ...(env.REDIS_PASSWORD && { password: env.REDIS_PASSWORD }) + ...(env.REDIS_PASSWORD && { password: env.REDIS_PASSWORD }), + ...(env.REDIS_SSL && { tls: {} }), + ...(env.REDIS_KEYPREFIX && { keyPrefix: env.REDIS_KEYPREFIX }) }); export default client;