Next, on talkgroup...

Yay, we’re gonna install!

There are many parts to the next phase, and you’ll know yours in time. For now we’re just gonna focus on the practical matter of installing a new instance of Discourse.

What you may not know is that I’ve been training since I installed talkgroup the first time. I have some tricks up my sleeves, etc.

So, our goal here is to get me logged into a new instance, so I may continue the conversation there.

What will we need before logging into the VPS and installing Discourse?


  • Create Linode VPS
  • Setup mailgun for email
  • Create new DNS records at Gandi for both


Ah, but I’ve got this, dawg! Through the power of… API.

Wow, I emphasized and emboldened API… it is not an impressive acronym. I was looking more for something like…

Anyhow, I’m gonna set this up like a mage party!

The first thing I’ll do is spin up a Linode VPS.

Magical requirements:

Installing linode-cli from the docs worked for me in Fedora Linux 33:

pip3 install linode-cli --upgrade

And I landed on this for my ~/.config/linode-cli (follow the docs, it will make sense):

region = us-west
type = g6-nanode-1
image = linode/ubuntu20.04

That’s fine for talkgroup, as well. Now, I use a simple cantrip:

linode-cli linodes create --label subdomain-example-org --authorized_keys "$(cat ~/.ssh/" --root_pass "$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32}; echo;)"

I change the label, so in this case it will be v2-talkgroup-xyz. I pass it the path to my public ssh key (yours may be different, make sure to check), and some random nonsense for the required --root_pass parameter; I don’t note it as I will never use it.

Okay, let’s see what happens!

[maiki@skye ~]$ linode-cli linodes create --label v2-talkgroup-xyz --authorized_keys "$(cat ~/.ssh/" --root_pass "$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32}; echo;)"
│ id       │ label            │ region  │ type        │ image              │ status       │ ipv4           │
│ 25890541 │ v2-talkgroup-xyz │ us-west │ g6-nanode-1 │ linode/ubuntu20.04 │ provisioning │ │

And a few seconds later:

[maiki@skye ~]$ linode-cli linodes list
│ id       │ label            │ region  │ type        │ image              │ status  │ ipv4           │
│ 25890541 │ v2-talkgroup-xyz │ us-west │ g6-nanode-1 │ linode/ubuntu20.04 │ running │ │


Now I have to set up Mailgun, which is probably why it’s taken me two days to start this step.

See, it isn’t that Mailgun is bad or anything, I use them because they are adequate. But when I set up talkgroup Mailgun was owned by Rackspace, so I had an account through my Rackspace account. Then Mailgun spun off as it’s own company again, but my login is still via an authorization token given via Rackspace’s dashboard, itself an ever-changing labyrinth of chaos theory expressed as a UI.

It got so bad I gave up my essentially “free email sending for life” account to create a new one (once they got a pay-as-you-go subscription working), and am happy to just let talkgroup and a bunch of older sites continue to send mail; if it ain’t broke, don’t fix it.

But now I want to set up v2.talkgroup on new infra, I’d be mixing MX records for a single domain across multiple Mailgun accounts… aaaaaaaaaaaah, listen, my tech seer powers tell me this is a bad idea.


So my choice to avoid that is to use the old account for v2, or move v1 to the new account… blah. I’m gonna do it presently, but it doesn’t mean I’m gonna like it and now kinda live blog it, as well, I’m apologize to inform you.


Of course I could go really bonkers and pick a new mail delivery service for v2… I could easily justify it as market research. But then I’d be admitting to myself, and subsequently the world, that “market research” for maiki includes fucking Email Service Providers… and I… I just can’t! I want nothing to do with this, I want to keep my adequate email sender and simplify my life in the future! That means moving v1 to the new account and being done with it! Okay!

And that, dear friends, is how you make decisions.

:microphone: :droplet:

Okay, I setup everything and got the site installed. I was gonna go over the Gandi DNS API, but it’s rough and in transition. Moving along with the next talkgroup, it is installed:

Now I just need to change “Site Feedback” to “meta”, and we’ll carry on over there…

And there we go, not we’re gonna work over at :slight_smile: