Heliosurge migrated their Discourse site from Upcloud to Contabo VPS using Rsync and confirmed the app was running, but encountered a connection refusal when accessing the domain https://www.xrtropolis.one, despite DNS propagation appearing successful via whatsmydns.net. They confirmed the server IP worked, but the domain did not. After running ./discourse-setup, the tool reported successful domain connection, yet the issue persisted. Heliosurge noted that while the app.yml appeared to update, an error message appeared saying “Unfortunately, there was an error changing containers/app.yml” — though the file was modified. They were not using Let’s Encrypt, as SSL was handled by Squarespace. After reviewing system details (Ubuntu 24.04.1, Docker setup), Heliosurge resolved the issue by comparing the app.yml from the old server with the new one and discovered that SSL-related templates (web.ssl.template.yml and letsencrypt.ssl.template.yml) were commented out — likely due to an rsync error or misconfiguration. Uncommenting or correcting those entries fixed the connection issue. Canapin had suggested running ./discourse-setup to reconfigure the domain, which helped identify the domain was reachable but didn’t resolve the underlying config issue.
no this is copy of output. succeeds to connect to domain though.
discourse-setup
The configuration file containers/app.yml already exists!
. . . reconfiguring . . .
Saving old file as app.yml.2025-01-06-030236.bak
Stopping existing container in 5 seconds or Control-C to cancel.
x86_64 arch detected.
WARNING: containers/app.yml file is world-readable. You can secure this file by running: chmod o-rwx containers/app.yml
+ /usr/bin/docker stop -t 600 app
app
Found 25GB of memory and 8 physical CPU cores
setting db_shared_buffers = 4096MB
setting UNICORN_WORKERS = 8
containers/app.yml memory parameters updated.
Hostname for your Discourse? [www.xrtropolis.one]:
Checking your domain name . . .
Connection to www.xrtropolis.one succeeded.
Email address for admin account(s)? [demontmorency_dan@hotmail.com]:
SMTP server address? [smtp-relay.brevo.com]:
SMTP port? [587]:
SMTP user name? [redacted]:
SMTP password? [redacted]:
notification email address? [noreply@xrtropolis.one]:
Optional email address for Let's Encrypt warnings? (ENTER to skip) [me@example.com]:
Optional MaxMind Account ID (ENTER to continue without MAXMIND GeoLite2 geolocation database) [123456]:
Does this look right?
Hostname : www.xrtropolis.one
Email : demontmorency_dan@hotmail.com
SMTP address : smtp-relay.brevo.com
SMTP port : 587
SMTP username : redacted
SMTP password : redacted
Notification email: noreply@xrtropolis.one
MaxMind account ID: (unset)
MaxMind license key: (unset)
ENTER to continue, 'n' to try again, Ctrl+C to exit:
web.ssl.template.yml NOT ENABLED--was it on already?
letsencrypt.ssl.template.yml NOT ENABLED -- was it on already?
Unfortunately, there was an error changing containers/app.yml
This may happen if you have made unexpected changes.
That being said the app.yml appears to have been changed even though it says error changing it.
However still get connection refused even though setup said it connected successfully.
Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 6.8.0-51-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro
System information as of Mon Jan 6 04:03:52 CET 2025
System load: 2.52
Usage of /: 4.5% of 289.56GB
Memory usage: 2%
Swap usage: 0%
Processes: 245
Users logged in: 0
IPv4 address for eth0: 154.53.35.16
IPv6 address for eth0: 2605:a142:2238:3164::1
* Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
just raised the bar for easy, resilient and secure K8s cluster deployment.
https://ubuntu.com/engage/secure-kubernetes-at-the-edge
Expanded Security Maintenance for Applications is not enabled.
0 updates can be applied immediately.
Enable ESM Apps to receive additional future security updates.
See https://ubuntu.com/esm or run: sudo pro status
not using kubernetes. copied and installed with Docker and used rsync.