added RAILS_RELATIVE_URL_ROOT support
This commit is contained in:
parent
e9394c48ca
commit
21e55ca318
7 changed files with 16 additions and 7 deletions
|
@ -6,6 +6,7 @@ class Notify < ActionMailer::Base
|
||||||
default_url_options[:host] = Gitlab.config.gitlab.host
|
default_url_options[:host] = Gitlab.config.gitlab.host
|
||||||
default_url_options[:protocol] = Gitlab.config.gitlab.protocol
|
default_url_options[:protocol] = Gitlab.config.gitlab.protocol
|
||||||
default_url_options[:port] = Gitlab.config.gitlab.port if Gitlab.config.gitlab_on_non_standard_port?
|
default_url_options[:port] = Gitlab.config.gitlab.port if Gitlab.config.gitlab_on_non_standard_port?
|
||||||
|
default_url_options[:script_name] = Gitlab.config.gitlab.relative_url_root
|
||||||
|
|
||||||
default from: Gitlab.config.gitlab.email_from
|
default from: Gitlab.config.gitlab.email_from
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
# This file is used by Rack-based servers to start the application.
|
# This file is used by Rack-based servers to start the application.
|
||||||
|
|
||||||
require ::File.expand_path('../config/environment', __FILE__)
|
require ::File.expand_path('../config/environment', __FILE__)
|
||||||
run Gitlab::Application
|
|
||||||
|
map ENV['RAILS_RELATIVE_URL_ROOT'] || "/" do
|
||||||
|
run Gitlab::Application
|
||||||
|
end
|
||||||
|
|
|
@ -18,6 +18,9 @@ gitlab:
|
||||||
host: localhost
|
host: localhost
|
||||||
port: 80
|
port: 80
|
||||||
https: false
|
https: false
|
||||||
|
# uncomment and customize to run in non-root path
|
||||||
|
# note that ENV['RAILS_RELATIVE_URL_ROOT'] in config/unicorn.rb may need to be changed
|
||||||
|
# relative_url_root: /gitlab
|
||||||
|
|
||||||
## Email settings
|
## Email settings
|
||||||
# Email address used in the "From" field in mails sent by GitLab
|
# Email address used in the "From" field in mails sent by GitLab
|
||||||
|
|
|
@ -25,7 +25,8 @@ class Settings < Settingslogic
|
||||||
[ gitlab.protocol,
|
[ gitlab.protocol,
|
||||||
"://",
|
"://",
|
||||||
gitlab.host,
|
gitlab.host,
|
||||||
custom_port
|
custom_port,
|
||||||
|
gitlab.relative_url_root
|
||||||
].join('')
|
].join('')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -45,6 +46,7 @@ Settings.gitlab['default_projects_limit'] ||= 10
|
||||||
Settings.gitlab['host'] ||= 'localhost'
|
Settings.gitlab['host'] ||= 'localhost'
|
||||||
Settings.gitlab['https'] ||= false
|
Settings.gitlab['https'] ||= false
|
||||||
Settings.gitlab['port'] ||= Settings.gitlab.https ? 443 : 80
|
Settings.gitlab['port'] ||= Settings.gitlab.https ? 443 : 80
|
||||||
|
Settings.gitlab['relative_url_root'] ||= ''
|
||||||
Settings.gitlab['protocol'] ||= Settings.gitlab.https ? "https" : "http"
|
Settings.gitlab['protocol'] ||= Settings.gitlab.https ? "https" : "http"
|
||||||
Settings.gitlab['email_from'] ||= "gitlab@#{Settings.gitlab.host}"
|
Settings.gitlab['email_from'] ||= "gitlab@#{Settings.gitlab.host}"
|
||||||
Settings.gitlab['url'] ||= Settings.send(:build_gitlab_url)
|
Settings.gitlab['url'] ||= Settings.send(:build_gitlab_url)
|
||||||
|
|
|
@ -18,7 +18,7 @@ Gitlab::Application.routes.draw do
|
||||||
project_root: Gitlab.config.gitolite.repos_path,
|
project_root: Gitlab.config.gitolite.repos_path,
|
||||||
upload_pack: Gitlab.config.gitolite.upload_pack,
|
upload_pack: Gitlab.config.gitolite.upload_pack,
|
||||||
receive_pack: Gitlab.config.gitolite.receive_pack
|
receive_pack: Gitlab.config.gitolite.receive_pack
|
||||||
}), at: '/:path', constraints: { path: /[-\/\w\.-]+\.git/ }
|
}), at: '/', constraints: lambda { |request| /[-\/\w\.-]+\.git/.match(request.path_info) }
|
||||||
|
|
||||||
#
|
#
|
||||||
# Help
|
# Help
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
# uncomment and customize to run in non-root path
|
||||||
|
# note that config/gitlab.yml web path should also be changed
|
||||||
|
# ENV['RAILS_RELATIVE_URL_ROOT'] = "/gitlab"
|
||||||
|
|
||||||
app_dir = "/home/gitlab/gitlab/"
|
app_dir = "/home/gitlab/gitlab/"
|
||||||
worker_processes 2
|
worker_processes 2
|
||||||
working_directory app_dir
|
working_directory app_dir
|
||||||
|
|
|
@ -17,10 +17,6 @@ module Grack
|
||||||
# Pass Gitolite update hook
|
# Pass Gitolite update hook
|
||||||
ENV['GL_BYPASS_UPDATE_HOOK'] = "true"
|
ENV['GL_BYPASS_UPDATE_HOOK'] = "true"
|
||||||
|
|
||||||
# Need this patch due to the rails mount
|
|
||||||
@env['PATH_INFO'] = @request.path
|
|
||||||
@env['SCRIPT_NAME'] = ""
|
|
||||||
|
|
||||||
# Find project by PATH_INFO from env
|
# Find project by PATH_INFO from env
|
||||||
if m = /^\/([\w\.\/-]+)\.git/.match(@request.path_info).to_a
|
if m = /^\/([\w\.\/-]+)\.git/.match(@request.path_info).to_a
|
||||||
self.project = Project.find_with_namespace(m.last)
|
self.project = Project.find_with_namespace(m.last)
|
||||||
|
|
Loading…
Reference in a new issue