From d4bad590075bde8790eaffba18bf655fd899255d Mon Sep 17 00:00:00 2001 From: Richard R Date: Thu, 19 Feb 2026 11:20:51 -0700 Subject: [PATCH] feat: add loopback support for S3 endpoint in storage migration --- scripts/openreader-entrypoint.mjs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/scripts/openreader-entrypoint.mjs b/scripts/openreader-entrypoint.mjs index 14be11b..4909709 100644 --- a/scripts/openreader-entrypoint.mjs +++ b/scripts/openreader-entrypoint.mjs @@ -93,6 +93,12 @@ function parseS3Endpoint(endpoint) { }; } +function loopbackS3Endpoint(endpoint) { + const parsed = parseS3Endpoint(endpoint); + const url = new URL(parsed.normalized); + return `${url.protocol}//127.0.0.1:${parsed.port}`; +} + function parseUrlHost(urlValue, fieldName) { let url; try { @@ -403,7 +409,11 @@ async function main() { const shouldRunStorageMigrations = resolveBooleanEnv(runtimeEnv, 'RUN_FS_MIGRATIONS', true); if (shouldRunStorageMigrations) { if (hasS3Config(runtimeEnv)) { - runStorageMigrations(runtimeEnv); + const migrationEnv = { ...runtimeEnv }; + if (useEmbeddedWeed && migrationEnv.S3_ENDPOINT?.trim()) { + migrationEnv.S3_ENDPOINT = loopbackS3Endpoint(migrationEnv.S3_ENDPOINT); + } + runStorageMigrations(migrationEnv); } else { console.warn('Skipping storage migrations: S3 configuration is incomplete.'); }