mirror of
https://github.com/formbricks/formbricks.git
synced 2025-12-30 10:19:51 -06:00
feat: Add support for managing path style in S3 compatible service (#3031)
Co-authored-by: use-tusk[bot] <144006087+use-tusk[bot]@users.noreply.github.com>
This commit is contained in:
@@ -70,6 +70,8 @@ S3_BUCKET_NAME=
|
||||
# Configure a third party S3 compatible storage service endpoint like StorJ leave empty if you use Amazon S3
|
||||
# e.g., https://gateway.storjshare.io
|
||||
S3_ENDPOINT_URL=
|
||||
# Force path style for S3 compatible storage (0 for disabled, 1 for enabled)
|
||||
S3_FORCE_PATH_STYLE=0
|
||||
|
||||
#####################
|
||||
# Disable Features #
|
||||
|
||||
@@ -84,6 +84,9 @@ x-environment: &environment
|
||||
# Set a third party S3 compatible storage service endpoint like StorJ leave empty if you use Amazon S3
|
||||
# S3_ENDPOINT_URL=
|
||||
|
||||
# Force path style for S3 compatible storage (0 for disabled, 1 for enabled)
|
||||
S3_FORCE_PATH_STYLE: 0
|
||||
|
||||
############################################# OPTIONAL (OAUTH CONFIGURATION) #############################################
|
||||
|
||||
# Set the below from GitHub if you want to enable GitHub OAuth
|
||||
|
||||
@@ -88,6 +88,7 @@ export const S3_SECRET_KEY = env.S3_SECRET_KEY;
|
||||
export const S3_REGION = env.S3_REGION;
|
||||
export const S3_ENDPOINT_URL = env.S3_ENDPOINT_URL;
|
||||
export const S3_BUCKET_NAME = env.S3_BUCKET_NAME;
|
||||
export const S3_FORCE_PATH_STYLE = env.S3_FORCE_PATH_STYLE === "1";
|
||||
export const UPLOADS_DIR = env.UPLOADS_DIR || "./uploads";
|
||||
export const MAX_SIZES = {
|
||||
standard: 1024 * 1024 * 10, // 10MB
|
||||
|
||||
@@ -64,6 +64,7 @@ export const env = createEnv({
|
||||
S3_REGION: z.string().optional(),
|
||||
S3_SECRET_KEY: z.string().optional(),
|
||||
S3_ENDPOINT_URL: z.string().optional(),
|
||||
S3_FORCE_PATH_STYLE: z.enum(["1", "0"]).optional(),
|
||||
SHORT_URL_BASE: z.string().url().optional().or(z.string().length(0)),
|
||||
SIGNUP_DISABLED: z.enum(["1", "0"]).optional(),
|
||||
SLACK_CLIENT_ID: z.string().optional(),
|
||||
@@ -167,6 +168,7 @@ export const env = createEnv({
|
||||
S3_REGION: process.env.S3_REGION,
|
||||
S3_SECRET_KEY: process.env.S3_SECRET_KEY,
|
||||
S3_ENDPOINT_URL: process.env.S3_ENDPOINT_URL,
|
||||
S3_FORCE_PATH_STYLE: process.env.S3_FORCE_PATH_STYLE,
|
||||
SHORT_URL_BASE: process.env.SHORT_URL_BASE,
|
||||
SIGNUP_DISABLED: process.env.SIGNUP_DISABLED,
|
||||
SLACK_CLIENT_ID: process.env.SLACK_CLIENT_ID,
|
||||
|
||||
@@ -25,6 +25,7 @@ import {
|
||||
UPLOADS_DIR,
|
||||
WEBAPP_URL,
|
||||
isS3Configured,
|
||||
S3_FORCE_PATH_STYLE,
|
||||
} from "../constants";
|
||||
import { generateLocalSignedUrl } from "../crypto";
|
||||
import { env } from "../env";
|
||||
@@ -43,6 +44,7 @@ export const getS3Client = () => {
|
||||
credentials,
|
||||
region: S3_REGION,
|
||||
...(S3_ENDPOINT_URL && { endpoint: S3_ENDPOINT_URL }),
|
||||
forcePathStyle: S3_FORCE_PATH_STYLE,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -114,13 +114,14 @@
|
||||
"PLAYWRIGHT_CI",
|
||||
"PRIVACY_URL",
|
||||
"RATE_LIMITING_DISABLED",
|
||||
"REDIS_URL",
|
||||
"REDIS_HTTP_URL",
|
||||
"REDIS_URL",
|
||||
"S3_ACCESS_KEY",
|
||||
"S3_SECRET_KEY",
|
||||
"S3_REGION",
|
||||
"S3_BUCKET_NAME",
|
||||
"S3_ENDPOINT_URL",
|
||||
"S3_FORCE_PATH_STYLE",
|
||||
"S3_REGION",
|
||||
"S3_SECRET_KEY",
|
||||
"SENTRY_DSN",
|
||||
"SHORT_URL_BASE",
|
||||
"SIGNUP_DISABLED",
|
||||
|
||||
Reference in New Issue
Block a user