diff --git a/synapse/app/homeserver.py b/synapse/app/homeserver.py
index 495149466c..40e3561ee5 100755
--- a/synapse/app/homeserver.py
+++ b/synapse/app/homeserver.py
@@ -37,6 +37,7 @@ import logging
import logging.config
import sqlite3
import os
+import re
logger = logging.getLogger(__name__)
@@ -255,8 +256,14 @@ def setup():
logger.info("Server hostname: %s", args.host)
+ if re.search(":[0-9]+$", args.host):
+ domain_with_port = args.host
+ else:
+ domain_with_port = "%s:%s" % (args.host, args.port)
+
hs = SynapseHomeServer(
args.host,
+ domain_with_port=domain_with_port,
upload_dir=os.path.abspath("uploads"),
db_name=db_name,
)
diff --git a/synapse/http/server.py b/synapse/http/server.py
index d1f99460c1..66f966fcaa 100644
--- a/synapse/http/server.py
+++ b/synapse/http/server.py
@@ -325,7 +325,9 @@ class ContentRepoResource(resource.Resource):
# FIXME (erikj): These should use constants.
file_name = os.path.basename(fname)
- url = "http://%s/matrix/content/%s" % (self.hs.hostname, file_name)
+ url = "http://%s/matrix/content/%s" % (
+ self.hs.domain_with_port, file_name
+ )
respond_with_json_bytes(request, 200,
json.dumps({"content_token": url}),
|