about summary refs log tree commit diff
path: root/config
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2017-04-15 02:15:46 +0200
committerEugen <eugen@zeonfederated.com>2017-04-15 02:15:46 +0200
commita9529d3b4b057eeb3b47943b271ad6605e22732d (patch)
treece574918a357859d321f146b3c7bf0f34acad0cd /config
parent0d2910478a6b1659f4c40e64cf28cf2e64dfb01e (diff)
Allow running mastodon on a different domain as the one used for identifying users (#1267)
* Allow running mastodon on a different domain as the one used for identifying users

* Alter documentation of WEB_DOMAIN to make clear it shouldn't be used unless the admin knows what they are doing

* Compare to web_domain instead of local_domain when dealing with feeds/API

* Correctly identify mentions to local accounts

Mentions URLs point to the person's web profile, i.e., the user page served on WEB_DOMAIN.
Diffstat (limited to 'config')
-rw-r--r--config/initializers/ostatus.rb8
1 files changed, 5 insertions, 3 deletions
diff --git a/config/initializers/ostatus.rb b/config/initializers/ostatus.rb
index fb0b8b7fe..155d0a9f1 100644
--- a/config/initializers/ostatus.rb
+++ b/config/initializers/ostatus.rb
@@ -2,18 +2,20 @@
 
 port  = ENV.fetch('PORT') { 3000 }
 host  = ENV.fetch('LOCAL_DOMAIN') { "localhost:#{port}" }
+web_host = ENV.fetch('WEB_DOMAIN') { host }
 https = ENV['LOCAL_HTTPS'] == 'true'
 
 Rails.application.configure do
   config.x.local_domain = host
+  config.x.web_domain   = web_host
   config.x.use_https    = https
   config.x.use_s3       = ENV['S3_ENABLED'] == 'true'
 
-  config.action_mailer.default_url_options = { host: host, protocol: https ? 'https://' : 'http://', trailing_slash: false }
+  config.action_mailer.default_url_options = { host: web_host, protocol: https ? 'https://' : 'http://', trailing_slash: false }
   config.x.streaming_api_base_url          = 'http://localhost:4000'
 
   if Rails.env.production?
-    config.action_cable.allowed_request_origins = ["http#{https ? 's' : ''}://#{host}"]
-    config.x.streaming_api_base_url             = ENV.fetch('STREAMING_API_BASE_URL') { "http#{https ? 's' : ''}://#{host}" }
+    config.action_cable.allowed_request_origins = ["http#{https ? 's' : ''}://#{web_host}"]
+    config.x.streaming_api_base_url             = ENV.fetch('STREAMING_API_BASE_URL') { "http#{https ? 's' : ''}://#{web_host}" }
   end
 end