Discourse on an ISPConfig server? (2023)

Discussion in 'General' started by TonyG, Sep 19, 2023.

Tags:
  1. TonyG

    TonyG Active Member

    Discourse installs into a Docker container and consumes HTTP:443. Has anyone installed Discourse in a ISPConfig server and get it to play nice with Apache and other sites?

    I've used ISPConfig DNS to add a dedicated server hosting Discourse into a zone - it's just another subdomain with an A record pointing to an IP Address - there's no issue.

    I'm thinking Apache running on a server would need to route inbound requests for a specific subdomain to the local container, as though it's just another IP address on the network. I haven't done anything like this yet.

    I would be OK dedicating servers to Discourse, with just a couple containers running in each. Is there any other kind of integration that we can get with ISPConfig, for example to monitor, include in reports, etc? There is the actual server, which can be a secondary ISPConfig system, and then there is the container - and I don't know yet how that would be represented as another environment/server.

    I can tell you that Discourse is locked down pretty tight. Every little change seems to require a rebuild of the entire container. That might destroy anything extra that we put into it.

    File this under ... "Bad Idea"?

    Thanks!
     
  2. ahrasis

    ahrasis Well-Known Member HowtoForge Supporter

    I am not sure how one shall share web server ports 80/443 between ISPConfig and docker in a same server, as both are running their own.

    Advanced users may change that ports prior to its setup but it may not be publicly accessible via that custom ports though.

    Plus docker running its own web server is overkilled though one may still want to proceed if one has enough resources.

    So, proxy to it is one way.

    The other is to try installing without docker. Try: https://www.linuxbabe.com/ubuntu/install-discourse-ubuntu-18-04-server-without-docker

    Good luck.
     
    Last edited: Sep 20, 2023
  3. till

    till Super Moderator Staff Member ISPConfig Developer

    I would use a proxy like @ahrasis mentioned. You can tell Docker to not use port 443 but e.g. port 8443 and then add a website in ISPConfig and there you add some proxy config in the apache directives field to proxy requests to port 8443. I do not have a ready-made config at hand for that though, but it should work like this.
     
    ahrasis likes this.
  4. TonyG

    TonyG Active Member

    Thanks guys. I'll pursue the proxy pattern as an experiment and report back.
    The primary concern is about any known interactions with ISPConfig. It sounds like Docker is just another application on the system and there shouldn't be any conflicts as long as it doesn't interere with the required setup. I'll give it a shot, first installing the ISPConfig auto-install, then installing Docker, and we'll just see if they play nice.
    We can try installing without Docker, but the Discourse devs are as insistent about using Docker as a supported environment. as everyone here is about using the Perfect install docs to get a fully functional installation. Deviating from that will almost certainly create support issues and I'd prefer to just follow the guidelines.
    Thanks!
     
  5. TonyG

    TonyG Active Member

    Oh, @ahrasis - I would have preferred to give ElkArte another run but that's not where the current projects were headed. Would like to try it again another time, maybe if the container resource consumption is later determined to be unbearable.
    Best to ya.
     
  6. till

    till Super Moderator Staff Member ISPConfig Developer

    Docker does not cause any conflicts. You just have to ensure that you do not use any port for docker that is already in use by any other application. But as the 'external' port of a docker app can be freely chosen, there should not be any issues. The benefit of using docker is that you do not have any dependency issues with other software and discourse is nicely contained.
     
    TonyG likes this.

Share This Page