diff --git a/packages/backend/src/config.ts b/packages/backend/src/config.ts
index 8d4c5464a6..f6ce9b3cdf 100644
--- a/packages/backend/src/config.ts
+++ b/packages/backend/src/config.ts
@@ -390,6 +390,8 @@ function applyEnvOverrides(config: Source) {
 		}
 	}
 
+	const alwaysStrings = { 'chmodSocket': 1 };
+
 	function _assign(path: (string | number)[], lastStep: string | number, value: string) {
 		let thisConfig = config;
 		for (const step of path) {
@@ -399,6 +401,14 @@ function applyEnvOverrides(config: Source) {
 			thisConfig = thisConfig[step];
 		}
 
+		if (!alwaysStrings[lastStep]) {
+			if (value.match(/^[0-9]+$/)) {
+				value = parseInt(value);
+			} else if (value.match(/^(true|false)$/i)) {
+				value = !!value.match(/^true$/i);
+			}
+		}
+
 		thisConfig[lastStep] = value;
 	}