diff --git a/changelog.d/17986.misc b/changelog.d/17986.misc
new file mode 100644
index 0000000000000000000000000000000000000000..c062f3ecdf98a0959fde1fde41406df4b9e50091
--- /dev/null
+++ b/changelog.d/17986.misc
@@ -0,0 +1 @@
+Fix Docker and Complement config to be able to use `public_baseurl`.
diff --git a/docker/complement/conf/workers-shared-extra.yaml.j2 b/docker/complement/conf/workers-shared-extra.yaml.j2
index 9a74c617bc4d0e4e9271cc5343944e2798f020d4..c5228af72d06f5919b15e92e0ec6facf85060d2f 100644
--- a/docker/complement/conf/workers-shared-extra.yaml.j2
+++ b/docker/complement/conf/workers-shared-extra.yaml.j2
@@ -7,6 +7,7 @@
 #}
 
 ## Server ##
+public_baseurl: http://127.0.0.1:8008/
 report_stats: False
 trusted_key_servers: []
 enable_registration: true
diff --git a/docker/conf-workers/nginx.conf.j2 b/docker/conf-workers/nginx.conf.j2
index d1e02af723287512a952b7eede9026afb1da9aba..c3f9b584d2997384cf58889be5420069cc410c7d 100644
--- a/docker/conf-workers/nginx.conf.j2
+++ b/docker/conf-workers/nginx.conf.j2
@@ -42,6 +42,6 @@ server {
 {% endif %}
         proxy_set_header X-Forwarded-For $remote_addr;
         proxy_set_header X-Forwarded-Proto $scheme;
-        proxy_set_header Host $host;
+        proxy_set_header Host $host:$server_port;
     }
 }
diff --git a/scripts-dev/complement.sh b/scripts-dev/complement.sh
index b6dcb96e2c907489277a4e7d2015a77713d28206..6be9177f1105d6957afbe001b433d4dca5d342dc 100755
--- a/scripts-dev/complement.sh
+++ b/scripts-dev/complement.sh
@@ -195,6 +195,10 @@ if [ -z "$skip_docker_build" ]; then
         # Build the unified Complement image (from the worker Synapse image we just built).
         echo_if_github "::group::Build Docker image: complement/Dockerfile"
         $CONTAINER_RUNTIME build -t complement-synapse \
+            `# This is the tag we end up pushing to the registry (see` \
+            `# .github/workflows/push_complement_image.yml) so let's just label it now` \
+            `# so people can reference it by the same name locally.` \
+            -t ghcr.io/element-hq/synapse/complement-synapse \
             -f "docker/complement/Dockerfile" "docker/complement"
         echo_if_github "::endgroup::"
 
diff --git a/synapse/config/logger.py b/synapse/config/logger.py
index cfc1a57107f66ac9fe4701d7baba9fa1c52260e8..e5aca36b75e0767a5035e988b2cbaebdb9474436 100644
--- a/synapse/config/logger.py
+++ b/synapse/config/logger.py
@@ -360,5 +360,6 @@ def setup_logging(
         "Licensed under the AGPL 3.0 license. Website: https://github.com/element-hq/synapse"
     )
     logging.info("Server hostname: %s", config.server.server_name)
+    logging.info("Public Base URL: %s", config.server.public_baseurl)
     logging.info("Instance name: %s", hs.get_instance_name())
     logging.info("Twisted reactor: %s", type(reactor).__name__)