How extensible can I make my installation in terms of sub domains and restricting membership to them?

Hello there, after more than 2 years in the planning it is less than 24 hours since I stumbled across Discourse and I’m still a bit gobsmacked at having found what seems to be the perfect solution!

I have quite a complex structure in mind and was hoping to ask for some pointers if I may.

I want a structure where the functionality varies. Also there will potentially be very large number of smaller size groups, mainly separated and distinct by location.

The subject is mental health related so privacy is very important in respect to people feeling safe enough to disclose. This must be in the confidence and confines of their local support group.

Each group would also have a public facing section for general local info and advice but all logged-in content would be hidden. I would also like to have more groups including a national and also regional ones that were fully public. The localised communities would have the ability to decide what was ok to make public.

I have the domain ****peer.support. I live in Bigtown so I would want:

bigtown.****peer.support

… as a sub domain for my local group. My kids go to the local school so I would want:

school.****peer.support

Is this doable? Many thanks in advance
Matt :slightly_smiling_face:

So different domains (bigtown/school) point to the same forum but in different groups?

That’s right. There will be 100s of groups, all private and not connected. Each with their own sub domain.

I may be wrong, but I don’t think this is very possible, unless you redirect these domains to the pages of each respective group.

1 Like

If you have all users in one forum, they can all see each other for example in autocomplete for @mentions (related topic). While you can limit for example posting to specific categories based on the groups, you cannot configure the visibility of other users. So features like personal messages are either enabled or disabled, but you cannot prevent users from the school group to message users from the bigtown group.
Is that a problem? Then you need separate forums.

4 Likes

Thank you for that. I think I might be over complicating my idea of what I can get Discourse to do in terms of some areas being public and some being private. Also in thinking it can run a large number of distinct group that are pretty much isolated from each other.

I would be interested to find out if others might have found themselves with similar reqs that have found a work through? Or if anyone runs multiple instances with one per group? I guess that realistically that is only feasible if you are managing you own hosting as the cost of in-house hosting loads of individual groups would be to great. And I guess the admin overhead would make it unmanageable?

1 Like

If you are self-hosting, you could consider a multisite setup.

3 Likes

You could do it with a multisite setup where you had a separate site for each group and had them all authenticate against a single site. If you have a bunch of expertise or money, you can do that, and I’ll be happy to help. But you likely just want to create a group and category for each of those localities. I think this is what you’re looking for Configuring group access, membership, and visibility

1 Like

Hi Jay and Tobias, many thanks for your input. As I didnt know anything about Discourse 48 hrs ago I think I ought to start from the very beginning with a hosted installation. Your document Jay looks like just what I need to see the capabilities I’m looking for in a single installation.

I’m very interested in what you are both saying to me about multisite setups and ultimately I think that model will better suit the complexity of what I’m after. I dont have a bunch of cash sadly, far from it but I wouldnt want to be going down that route anyway. The point of what I’m trying to do is to give away the applications foc to support groups and encourage them to be as hands on with it as they happy to. If it works then the potential for very specific and targeted ads is big. I’ver already approched a number of the main players and they are keen to know more.

I’m going to need to be very hands on regarding the overall architecture and it’s flexibility. It could end up with 1000s of groups nationwide and I dont see why it couldn’t be rolled out in countries across the world starting with the USA. I dont have the bunch of expertise either but I will commit to gaining that. This project is now three years in the making, I had no idea where I was going softwarewise until yesterday. Finding the perfect solution and committing to it has taken me by total surprise.

My background is in computing, I have an upper second class degree in Computing (Networks + Communications) for a long time ago. 24 years back is when Linux / Unix System Admin was one of the modules I studied. I was very much into the ethos of the open source community back then, along with the idea of the more democratised world it could bring. Didnt quite work out like that, maybe now is the time.

So, I would be thrilled to accept your kind offer to help me Jay! I guess a refresher on Linux admin and a dive into scripting languages is going to be needed? Any pointers on resources for this would be gladly received as well as info on running ads in Discourse. I want to find out how I might be able to begin to see how AI might be implemented to so a starting point there would be great if possible.

1 Like

You will want to start with Install Discourse in Under 30 Minutes which gets you underway. Just follow those directions and you’ll start to become acquainted with how discourse can be installed. The multisite installation is similar but more complicated.

3 Likes

Thanks Tobias, i got as far as the screen grab and the my head ceased.

Did you do the cd /var/discourse? From your screenshot, it doesn’t look like you did.

1 Like

‘no such file or directory’ do I have to create one?

Did you clone the repository?

Seems to have installed but I have a ‘Welcome to nginx!’ page displayed
… further config required

1 Like

I assume you ran ./discourse-setup?