the AMC 2020 slack is going away on aug 1, so the community has been encouraged to self-host. i am spinning up a new discourse instance.
new domain through gandi.net. i browsed search results for “mycelium” for a very long time and found mycelium.garden and loved it. i’m doing it! I’M GOING TO DO IT RIGHT NOW
open up my digital ocean account that got closed last year =X
get confused about whether or not i should make a new account
get confused about whether or not i should use my old account with a past due balance but create a new shared account to manage. i see myself able to “Switch accounts” to a different group account and i’m confused about that.
eh i just paid the $39.
uhhh made a new project. that’s DIFFERNT from switching accounts. whatever i’ll figure it out later.
new droplet
container distributions
click see al
searched for discourse
opened DigitalOcean in new page cuz it has directions, which is confusing because it’s still within my account dashboard. i want instructions on a diff page oh well
went backwards and chose the $10/mo one because can always go bigger later right? $ 10 /mo
$0.015 /hour
2 GB / 1 CPU
50 GB SSD disk
2 TB transfer
default: automatically configure and mount
select additional options: default all off.
left IPv6 unchecked
left user data unchecked
checked Monitoring cuz… i dunno
Authentication
i have an existing ssh key uploaded to digital ocean so i used that
Finalize And Create
Enable backups - i left it unchecked haha
can’t click buttton, says ssh key, but i have one checked. haha this is a bug on their website, it’s cuz i have nothing entered for my block storage volume. i clicked delete volume. ok now i can make it.
Discourse is the 100% open source discussion platform built for the next decade of the Internet. Use it as a mailing list, discussion forum, long-form chat room, and more!
Before you begin with your Discourse 1-Click App, you will need:
Credentials for an SMTP server . These credentials are critical for account creation and for receipt of notifications in Discourse.If you have an existing mail server, you can use those credentials. If you don’t have or want to run a mail server, there are several providers where you can set up an SMTP account, such as SparkPost, Mailgun, Mailjet, or Mandrill.
A hostname (domain or subdomain) . You’ll use this for your forum; you cannot use an IP address with Discourse.
An email address to use for the Discourse admin account.Additionally, Discourse requires at least 2GB of RAM, so make sure to choose a plan with enough memory during creation.After creating a Discourse One-Click Droplet, you’ll need to connect to the Droplet via SSH to complete the setup. ssh root@use_your_droplet_ip Once you connect, you’ll be prompted to complete Discourse’s configuration by entering the three details mentioned earlier: an email address for the admin account, the domain or subdomain for Discourse, and the SMTP server credentials.
To get started, the following configuration details will be required.
- Email Address for the Discourse Admin Account
- The hostname (domain or subdomain) you will use for Discourse
- Details for the SMTP server your Discourse install will use to send email
- Email Address to use if you wish to set up a LetsEncrypt SSL certificate
If you want to skip the initial Discourse setup, you can press CTRL+C . The next time you log in, you’ll be prompted again. Alternatively, you can re-run the setup script any time by running bash /opt/digitalocean/setup_discourse.sh .
Once you have provided the requested information to the setup script it will take approximately 10 minutes for the script to install and configure the latest version of Discourse on your droplet.
Once you’ve completed the initial Discourse setup, you can create a Discourse account on the new forum by visiting the hostname you chose in your browser.
Enabling HTTPS
We strongly recommend using SSL to secure the connection between the Discourse server and the clients connecting to it. Discourse provides the following resources on setting up SSL:
In addition to creating a Droplet from the Discourse 1-Click App via the control panel, you can also use the DigitalOcean API.
As an example, to create a 4GB Discourse Droplet in the SFO2 region, you can use the following curl command. You’ll need to either save your API access token to an environment variable or substitute it into the command below.
got overwhelmed looking at pricing tabs for all of them. don’t know how to choose. chose mailchimp because my friend works there lol
a hostname
yep
an email address to use as the admin
uhhh should i use my own gmail address uhhhhh
uhhhhh should i make an admin at mycelium dot garden address lol? uhhh how about flux at, in further honor of emergent strategy? i kind of love flux at instead of admin at lol
uhhhhhhhhhhhhhh should i host it at protonmail hahahahahahahahahaahhaahahahahahahah
upgraded protonmail to “professional” account HAHA prorated cuz i am already a paid single account user
jk it’s $20/month for the service formerly known as Mandrill, which is now Mailchimp’s “transactional email service”
Transactional Email is a paid Mailchimp add-on which means you need a Standard plan (or higher) to use it. We’ve included the Standard plan for you that comes with 6,000 Mailchimp email sends and up to 500 contacts.
How many transactional emails do you think you’ll send each month?
With Transactional Email you purchase blocks of 25,000 transactional delivered monthly. You can change your plan any time.
ok looks like digitalocean is done creating the droplet. uhhhhhhhhhhhh now what
oh ssh in and configure
oh my ssh key is gone. i don’t know where it is. uhhh okay i guess i’m resetting the root password.
uhhh okay reset pw
uhh it’s saying something about how i don’t have 2gb available of swap space and updates may fail. oh well it’s making a 2gb swapfile now? haven’t seen this error before. maybe i chose one ethat was too small.
hostname for your Discourse? forum.mycelium.garden
checking domain name… prot 443 of computer does not appear to be accessible using hostame (80 also fails) well of course. i haven’t configured gandi.net yet. ummmmmmm okay stopping this and going back to gandi
on gandi
gave up and made flux at to forwar dto my personal mail for now
ok jk went back to protonmail to set up my new custom domain because i cannot focus worth shit. so back on protonmail and gandi
used protonmail’s wizard to add many MX, TXT, and CNAME records
hey ti worked instantly
deleted the mail forwarding
ok wtf was i doing
oh yeah making forum dot
uhhhh what
oh i have to relearn cname every time
uhhh oh there’s a public ip address on digitalocean oh duh
CNAME, leaving ttl at default of 1800 seconds lol
name: forum
hostname: the ip address from do
An error has occurred. Please try again.
well fuck
oh it’s not CNAME i always forget
oh it’s an A record. goddamnit okay made it but i think it doesn’t work yet cuz i still have to ssh in and do the initial Discourse setup
We are contacting you as you (or one of your team members) tried to send an email with sender address: noreply@forum.mycelium.garden . But this sender address has not been validated yet on your account: (removed)
Please validate the sender within 3 days, so that we can send your email. You can manage your senders in the [Senders and domains page] or by using the [/sender] API resource.
For more information you can contact our [support team].
Regards,
The Mailjet Team
heyyyy i got AN email! okay setting up now. https://app.mailjet.com/docs/spf-dkim-guide
ok used their “wizard” sorta to set up more TXT records on gandi.net’s dns
ok forced check on mailjet and SPF and DKIM are okay now. (for SFP i had to add it to the existing txt for protonmail; for DKIM i had to add a new public key in a new TXT entry)
ok i did it for @ but t hat was wrong. i need to do it for forum.mycelium.garden
just did it again for spf (new) and dkim (also new)
also manually clicked on the verify email for noreply@forum.mycelium.garden but it says it’s good now because i did it for all @forum.
AH FINALLY GOT THE ACTIVATION EMAIL FROM MY NEW DISCOURSE INSTANCE, HOORAY
Now doing discourse setup through the discourse web app itself
for later
Primary Logo
The logo image at the top left of your site. Use a wide rectangular image with a height of 120 and an aspect ratio greater than 3:1
Square Logo
A square version of your logo. Shown at the top left of your site when scrolling down, in the browser, and when sharing on social platforms. Ideally larger than 512x512.
oh there’s more
Browser Icon
Icon image used to represent your site in web browsers that looks good at small sizes. Recommended image extensions are PNG or JPG. We’ll use the square logo by default.
Large Icon
Icon image used to represent your site on modern devices that looks good at larger sizes. Ideally larger than 512 × 512. We’ll use the square logo by default.
STOP
This guide is for advanced setups only, and should only be used if Setting up HTTPS support with Let’s Encrypt does not work for your setup. Let’s Encrypt provides a free SSL certificate, and automatically renews prior to expiration.
I use the $10 DO VPS for multiuser Discourse instances; I sometimes use the $5 for personal/experimental instances.
And I use Mailgun, because I’m into the imagery of gun culture I got a free account when they were owned a bit by Rackspace, and while I don’t use Rackspace, Mailgun is alright; it gets the job done, which is delivering email.
One step you might want to get figured out up front is your uploads situation. You can load everything off to bucket storage, but the DO Spaces (DO’s S3 blob storage offering) doesn’t compress assets well, so if you want to use your own domain for a CDN URL you’ll want to use something else… but that depends on what your upload needs are.
now herding users from the AMC2020 slack onto it! we’ll see if anyone joins!
a few hours later: people have joined! i set it to “private” by default cuz that’s kinda like how the slack was (you could only see stuff if you had an account), and i also set it to “all new users have to be approved by me” which isn’t sustainable i know but i’m just doing it for now.
If I needed funds to cover talkgroup I would set up a form to accept online payments and reported the amounts donated. That way everyone could see how much we had and what it was used for.
I think of this method as being like the first step of scale, so once you need another person to have access to money, you need a more complex system. I was thinking of opening the form whenever the “fund” gets low, and only run it for a set of time, so then the vault is refilled and we have our runway. That way we only have to fundraise once a year (if we have to do more, we miscalculated).
I look forward to joining your garden in a few months or so. I’d like to sit this bootstrap out, to get a fresh perspective. I’m always here (and there) to answer questions and talk shop, but I am about to launch a new phase of the engine, I’m on the exhale. So I want to focus on that; incidentally documenting Discourse is part of it, so we’re aligned there.
Are you planning on keeping messages online indefinitely? If not you might just get by without an external storage mechanism. Just delete stuff.
We don’t have anything like it on talkgroup, yet. I’m into intentionally ephemeral tools, where the content is published and disappears after a while. In this case, you could say a message will delete one month after it closes, which is sometime after the last reply, for instance. There is a setting that deletes media if not linked from a topic, keeping your storage needs down, or manageable if you need to upgrade eventually.
Something to keep in mind, as well: Discourse is a “soft delete” system. I haven’t gotten to that part yet, but neither have I seen much written on it. All the deleted messages are in the database, unless additional steps are taken, and I think it requires shell access.
I consider all of talkgroup ephemeral, but with varying levels of fade. Essentially everything of use beyond the conversation ought be captured in a better way to find, and some of the conversations ought to be preserved with it. But at the same time I consider every message here a scratchpad for us to play with and get the results we want.
It’s just the engine is so slow at starting up, a lot of this stuff won’t make sense immediately. We’re writing the handbook on archiving forums in real, very slow, time.