1diff --git a/config/environments/production.rb b/config/environments/production.rb
2index c5cbfcf64c..4d01f6fab8 100644
3--- a/config/environments/production.rb
4+++ b/config/environments/production.rb
5@@ -70,10 +70,10 @@ Rails.application.configure do
6
7 config.action_mailer.delivery_method = :sendmail
8 # Defaults to:
9- # # config.action_mailer.sendmail_settings = {
10- # # location: '/usr/sbin/sendmail',
11- # # arguments: '-i -t'
12- # # }
13+ config.action_mailer.sendmail_settings = {
14+ location: '/usr/sbin/sendmail',
15+ arguments: '-i -t'
16+ }
17 config.action_mailer.perform_deliveries = true
18 config.action_mailer.raise_delivery_errors = true
19
20diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
21index bd696a7f2c..44e3863736 100644
22--- a/config/gitlab.yml.example
23+++ b/config/gitlab.yml.example
24@@ -590,7 +590,7 @@ production: &base
25 # CAUTION!
26 # Use the default values unless you really know what you are doing
27 git:
28- bin_path: /usr/bin/git
29+ bin_path: git
30
31 ## Webpack settings
32 # If enabled, this will tell rails to serve frontend assets from the webpack-dev-server running
33diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
34index 0bea8a4f4b..290248547b 100644
35--- a/config/initializers/1_settings.rb
36+++ b/config/initializers/1_settings.rb
37@@ -255,7 +255,7 @@ Settings.gitlab['user'] ||= 'git'
38 Settings.gitlab['user_home'] ||= begin
39 Etc.getpwnam(Settings.gitlab['user']).dir
40 rescue ArgumentError # no user configured
41- '/home/' + Settings.gitlab['user']
42+ '/homeless-shelter'
43 end
44 Settings.gitlab['time_zone'] ||= nil
45 Settings.gitlab['signup_enabled'] ||= true if Settings.gitlab['signup_enabled'].nil?
46@@ -507,7 +507,7 @@ Settings.backup['upload']['storage_class'] ||= nil
47 # Git
48 #
49 Settings['git'] ||= Settingslogic.new({})
50-Settings.git['bin_path'] ||= '/usr/bin/git'
51+Settings.git['bin_path'] ||= 'git'
52
53 # Important: keep the satellites.path setting until GitLab 9.0 at
54 # least. This setting is fed to 'rm -rf' in
55diff --git a/lib/api/api.rb b/lib/api/api.rb
56index e953f3d2ec..3a8d9f076b 100644
57--- a/lib/api/api.rb
58+++ b/lib/api/api.rb
59@@ -2,7 +2,7 @@ module API
60 class API < Grape::API
61 include APIGuard
62
63- LOG_FILENAME = Rails.root.join("log", "api_json.log")
64+ LOG_FILENAME = File.join(ENV["GITLAB_LOG_PATH"], "api_json.log")
65
66 NO_SLASH_URL_PART_REGEX = %r{[^/]+}
67 PROJECT_ENDPOINT_REQUIREMENTS = { id: NO_SLASH_URL_PART_REGEX }.freeze
68diff --git a/lib/gitlab/logger.rb b/lib/gitlab/logger.rb
69index a42e312b5d..ccaab9229e 100644
70--- a/lib/gitlab/logger.rb
71+++ b/lib/gitlab/logger.rb
72@@ -26,7 +26,7 @@ module Gitlab
73 end
74
75 def self.full_log_path
76- Rails.root.join("log", file_name)
77+ File.join(ENV["GITLAB_LOG_PATH"], file_name)
78 end
79
80 def self.cache_key
81diff --git a/lib/gitlab/uploads_transfer.rb b/lib/gitlab/uploads_transfer.rb
82index 7d7400bdab..cb25211d44 100644
83--- a/lib/gitlab/uploads_transfer.rb
84+++ b/lib/gitlab/uploads_transfer.rb
85@@ -1,7 +1,7 @@
86 module Gitlab
87 class UploadsTransfer < ProjectTransfer
88 def root_dir
89- FileUploader.root
90+ ENV['GITLAB_UPLOADS_PATH'] || FileUploader.root
91 end
92 end
93 end
94diff --git a/lib/system_check/app/log_writable_check.rb b/lib/system_check/app/log_writable_check.rb
95index 3e0c436d6e..28cefc5514 100644
96--- a/lib/system_check/app/log_writable_check.rb
97+++ b/lib/system_check/app/log_writable_check.rb
98@@ -21,7 +21,7 @@ module SystemCheck
99 private
100
101 def log_path
102- Rails.root.join('log')
103+ ENV["GITLAB_LOG_PATH"]
104 end
105 end
106 end
107diff --git a/lib/system_check/app/uploads_directory_exists_check.rb b/lib/system_check/app/uploads_directory_exists_check.rb
108index 7026d0ba07..c56e1f7ed9 100644
109--- a/lib/system_check/app/uploads_directory_exists_check.rb
110+++ b/lib/system_check/app/uploads_directory_exists_check.rb
111@@ -4,12 +4,13 @@ module SystemCheck
112 set_name 'Uploads directory exists?'
113
114 def check?
115- File.directory?(Rails.root.join('public/uploads'))
116+ File.directory?(ENV['GITLAB_UPLOADS_PATH'] || Rails.root.join('public/uploads'))
117 end
118
119 def show_error
120+ uploads_dir = ENV['GITLAB_UPLOADS_PATH'] || Rails.root.join('public/uploads')
121 try_fixing_it(
122- "sudo -u #{gitlab_user} mkdir #{Rails.root}/public/uploads"
123+ "sudo -u #{gitlab_user} mkdir #{uploads_dir}"
124 )
125 for_more_information(
126 see_installation_guide_section 'GitLab'
127diff --git a/lib/system_check/app/uploads_path_permission_check.rb b/lib/system_check/app/uploads_path_permission_check.rb
128index 7df6c06025..bb447c16b2 100644
129--- a/lib/system_check/app/uploads_path_permission_check.rb
130+++ b/lib/system_check/app/uploads_path_permission_check.rb
131@@ -25,7 +25,7 @@ module SystemCheck
132 private
133
134 def rails_uploads_path
135- Rails.root.join('public/uploads')
136+ ENV['GITLAB_UPLOADS_PATH'] || Rails.root.join('public/uploads')
137 end
138
139 def uploads_fullpath
140diff --git a/lib/system_check/app/uploads_path_tmp_permission_check.rb b/lib/system_check/app/uploads_path_tmp_permission_check.rb
141index b276a81eac..070e3ebd81 100644
142--- a/lib/system_check/app/uploads_path_tmp_permission_check.rb
143+++ b/lib/system_check/app/uploads_path_tmp_permission_check.rb
144@@ -33,7 +33,7 @@ module SystemCheck
145 end
146
147 def uploads_fullpath
148- File.realpath(Rails.root.join('public/uploads'))
149+ File.realpath(ENV['GITLAB_UPLOADS_PATH'] || Rails.root.join('public/uploads'))
150 end
151 end
152 end