diff --git a/server/env.ts b/server/env.ts
index 6190bece2..9bb1a114a 100644
--- a/server/env.ts
+++ b/server/env.ts
@@ -568,6 +568,22 @@ export class Environment {
public AWS_S3_UPLOAD_MAX_SIZE =
this.toOptionalNumber(process.env.AWS_S3_UPLOAD_MAX_SIZE) ?? 100000000;
+ /**
+ * Optional AWS S3 endpoint URL for file attachments.
+ */
+ @IsOptional()
+ public AWS_S3_ACCELERATE_URL = this.toOptionalString(
+ process.env.AWS_S3_ACCELERATE_URL
+ );
+
+ /**
+ * Optional AWS S3 endpoint URL for file attachments.
+ */
+ @IsOptional()
+ public AWS_S3_UPLOAD_BUCKET_URL = this.toOptionalString(
+ process.env.AWS_S3_UPLOAD_BUCKET_URL
+ );
+
/**
* Set default AWS S3 ACL for file attachments.
*/
diff --git a/server/presenters/env.ts b/server/presenters/env.ts
index 69746ea49..a34414e17 100644
--- a/server/presenters/env.ts
+++ b/server/presenters/env.ts
@@ -10,8 +10,8 @@ export default function present(
): PublicEnv {
return {
URL: env.URL.replace(/\/$/, ""),
- AWS_S3_UPLOAD_BUCKET_URL: process.env.AWS_S3_UPLOAD_BUCKET_URL || "",
- AWS_S3_ACCELERATE_URL: process.env.AWS_S3_ACCELERATE_URL || "",
+ AWS_S3_UPLOAD_BUCKET_URL: env.AWS_S3_UPLOAD_BUCKET_URL || "",
+ AWS_S3_ACCELERATE_URL: env.AWS_S3_ACCELERATE_URL || "",
CDN_URL: (env.CDN_URL || "").replace(/\/$/, ""),
COLLABORATION_URL: (env.COLLABORATION_URL || env.URL)
.replace(/\/$/, "")
diff --git a/server/utils/prefetchTags.tsx b/server/utils/prefetchTags.tsx
index cd21aadb5..83410c4b0 100644
--- a/server/utils/prefetchTags.tsx
+++ b/server/utils/prefetchTags.tsx
@@ -7,14 +7,27 @@ const isProduction = env.ENVIRONMENT === "production";
const prefetchTags = [];
-if (process.env.AWS_S3_UPLOAD_BUCKET_URL) {
+if (env.AWS_S3_ACCELERATE_URL) {
prefetchTags.push(
);
+} else if (env.AWS_S3_UPLOAD_BUCKET_URL) {
+ prefetchTags.push(
+
+ );
+}
+if (env.CDN_URL) {
+ prefetchTags.push(
+
+ );
}
if (isProduction) {