Explorar el Código

make s3 configurable via env vars

Henry Oswald hace 8 años
padre
commit
9e321658ed
Se han modificado 1 ficheros con 33 adiciones y 23 borrados
  1. 33 23
      services/filestore/config/settings.defaults.coffee

+ 33 - 23
services/filestore/config/settings.defaults.coffee

@@ -1,6 +1,6 @@
 Path = require "path"
 Path = require "path"
 
 
-module.exports =
+settings =
 	internal:
 	internal:
 		filestore:
 		filestore:
 			port: 3009
 			port: 3009
@@ -11,22 +11,26 @@ module.exports =
 		# Choices are
 		# Choices are
 		# s3 - Amazon S3
 		# s3 - Amazon S3
 		# fs - local filesystem
 		# fs - local filesystem
-		backend: "fs"
-		stores:
-		  	# where to store user and template binary files
-			#
-			# For Amazon S3 this is the bucket name to store binary files in.
-			#
-			# For local filesystem this is the directory to store the files in.
-			# Must contain full path, e.g. "/var/lib/sharelatex/data".
-			# This path must exist, not be tmpfs and be writable to by the user sharelatex is run as.
-			user_files: Path.resolve(__dirname + "/../user_files")
-			public_files: Path.resolve(__dirname + "/../public_files")
-			template_files: Path.resolve(__dirname + "/../template_files")
-		# if you are using S3, then fill in your S3 details below
-		# s3:
-		# 	key: ""
-		# 	secret: ""
+		if process.env['AWS_KEY']?
+			backend: "s3"
+			s3:
+				key: process.env['AWS_KEY']
+				secret: process.env['AWS_SECRET']
+			stores:
+				user_files: process.env['AWS_S3_USER_FILES_BUCKET_NAME']
+				template_files: process.env['AWS_S3_TEMPLATE_FILES_BUCKET_NAME']
+				public_files: process.env['AWS_S3_PUBLIC_FILES_BUCKET_NAME']
+		else
+			backend: "fs"
+			stores:
+				#
+				# For local filesystem this is the directory to store the files in.
+				# Must contain full path, e.g. "/var/lib/sharelatex/data".
+				# This path must exist, not be tmpfs and be writable to by the user sharelatex is run as.
+				user_files: Path.resolve(__dirname + "/../user_files")
+				public_files: Path.resolve(__dirname + "/../public_files")
+				template_files: Path.resolve(__dirname + "/../template_files")
+
 
 
 	path:
 	path:
 		uploadFolder: Path.resolve(__dirname + "/../uploads")
 		uploadFolder: Path.resolve(__dirname + "/../uploads")
@@ -35,9 +39,15 @@ module.exports =
 		# Any commands to wrap the convert utility in, for example ["nice"], or ["firejail", "--profile=/etc/firejail/convert.profile"]
 		# Any commands to wrap the convert utility in, for example ["nice"], or ["firejail", "--profile=/etc/firejail/convert.profile"]
 		convertCommandPrefix: []
 		convertCommandPrefix: []
 
 
-	# Filestore health check
-	# ----------------------
-	# Project and file details to check in persistor when calling /health_check
-	# health_check:
-	# 	project_id: ""
-	# 	file_id: ""
+
+# Filestore health check
+# ----------------------
+# Project and file details to check in persistor when calling /health_check
+if process.env['HEALTH_CHECK_PROJECT_ID']? and process.env['HEALTH_CHECK_FILE_ID']?
+	settings.health_check =
+		project_id: process.env['HEALTH_CHECK_PROJECT_ID']
+		file_id: process.env['HEALTH_CHECK_FILE_ID']
+
+module.exports = settings
+
+console.log module.exports