From d86f601f554cc34a189643480619f103c47ad732 Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Sat, 29 Mar 2025 17:07:30 +0000 Subject: feat: Allow storing assets in a separate directory. Fixes #1091 --- packages/shared/assetdb.ts | 2 +- packages/shared/config.ts | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'packages/shared') diff --git a/packages/shared/assetdb.ts b/packages/shared/assetdb.ts index 974f7893..3ac92067 100644 --- a/packages/shared/assetdb.ts +++ b/packages/shared/assetdb.ts @@ -6,7 +6,7 @@ import { z } from "zod"; import serverConfig from "./config"; import logger from "./logger"; -const ROOT_PATH = path.join(serverConfig.dataDir, "assets"); +const ROOT_PATH = serverConfig.assetsDir; export const enum ASSET_TYPES { IMAGE_JPEG = "image/jpeg", diff --git a/packages/shared/config.ts b/packages/shared/config.ts index 55c13df5..fd224ea7 100644 --- a/packages/shared/config.ts +++ b/packages/shared/config.ts @@ -1,3 +1,4 @@ +import path from "path"; import { z } from "zod"; const stringBool = (defaultValue: string) => @@ -62,6 +63,7 @@ const allEnv = z.object({ DEMO_MODE_EMAIL: z.string().optional(), DEMO_MODE_PASSWORD: z.string().optional(), DATA_DIR: z.string().default(""), + ASSETS_DIR: z.string().optional(), MAX_ASSET_SIZE_MB: z.coerce.number().default(50), INFERENCE_LANG: z.string().default("english"), WEBHOOK_TIMEOUT_SEC: z.coerce.number().default(5), @@ -145,6 +147,7 @@ const serverConfigSchema = allEnv.transform((val) => { } : undefined, dataDir: val.DATA_DIR, + assetsDir: val.ASSETS_DIR ?? path.join(val.DATA_DIR, "assets"), maxAssetSizeMb: val.MAX_ASSET_SIZE_MB, serverVersion: val.SERVER_VERSION, disableNewReleaseCheck: val.DISABLE_NEW_RELEASE_CHECK, -- cgit v1.2.3-70-g09d2