Trouble with activation links with web port other than 80, again

AI-generated summary

The discussion revolves around issues with activation links in Discourse when running on a port other than the default 80. Blaisorblade installed Discourse through Docker on port 8008 and found that activation links don’t include the port number, rendering them unusable. An earlier discussion suggested changing the port in the developer settings, but this option is no longer available.

codinghorror mentioned that Discourse only supports default HTTP and HTTPS ports in production mode, and recommended using a reverse proxy for different ports. orionx shared a similar issue, where their university policies require running Discourse on a specific port. orionx explained that running multiple services on the same server is common in Brazil due to cost constraints, but running Discourse on a different port is not feasible in their case.

Blaisorblade suggested using nginx as a reverse proxy to dispatch requests to either Joomla or Discourse, but orionx clarified that this is not a feasible solution due to university policies and limited privileges.

I just installed discourse through Docker, running on port 8008 (because port 80 is unavailable, and I’m not going to setup reverse proxying for now). Yet, activation links don’t include port 8008 so they don’t work unless corrected by hand. How do I inform Discourse of the port it’s running behind?

An earlier discussion, Trouble with activation links with web port other than 80, suggested:

but this setting appears to have been removed.

We do not support production sites on any ports other than default http and HTTPS. If you need a different port you must be in local development mode.

Yeah, but in my case another port is mandatory (part of my university policies). Now Discourse is running on 8084 and all mails will go wrong to users. So sad.

Pretty sure you could proxy those ports through nginx.

Yeah of course, but in 80 port is running a PHP website (Joomla!). It’s a common thing in Brazil to use a server to deliver multiple services, because it’s so expensive to buy or to rent IT Solutions here.

Similar setups are common outside Brazil for various reasons — see “virtualization” (I think it went from buzzword to commodity).

It is still technically possible to have both services on the same port, exactly as Jeff Atwood said: you run nginx on port 80 and make it dispatch to either Joomla or Discourse based on the request (google “nginx reverse proxy” for info). Most people do use different hostnames, but I suspect you could even use different directories for that.

But if you talk about “university policies”, you might not have the privileges for the right setup (although, if you can run Docker, that’s very confusing).

Guys it’s not a installation problem. In fact, I’m a Computer Scientist, but in my university, I only have right to enable 1 server with 1 subdomain. In port 80 runs another service that I need to my project and I can change right now to other port. So sad.