# orderedItems[].object.content
By pod, Elasticsearch took a gig off the top all day. Definitely need to get that offloaded to a different node. Without ES, we have quite a bit more headroom and probably don't need to scale the main Mastodon node up vertically at this time, which will be nice for keeping costs low.

Mastodon Web and the Sidekiq processes ate up about a gig and a half throughout the day. Memory for these pods staying steady even as traffic rolled through was expected in theory, and nice to see in practice.

# orderedItems[].object.contentMap.en
By pod, Elasticsearch took a gig off the top all day. Definitely need to get that offloaded to a different node. Without ES, we have quite a bit more headroom and probably don't need to scale the main Mastodon node up vertically at this time, which will be nice for keeping costs low.

Mastodon Web and the Sidekiq processes ate up about a gig and a half throughout the day. Memory for these pods staying steady even as traffic rolled through was expected in theory, and nice to see in practice.

# orderedItems[].object.content
Memory was pretty consistent all day long, sitting around 3.4GB. Actual usage is a little higher because we have Postgres, Redis, and a couple other Elastsearch containers offloaded to another server in our K8s cluster. A bit over 4GB with everything combined.

3.4GB on the main node is higher than I was expecting, as evidenced by the percentage graph. We were running a 4GB node, which had us toeing the line of 90% usage all day. Not what I wanted, but the little server stayed up.

# orderedItems[].object.contentMap.en
Memory was pretty consistent all day long, sitting around 3.4GB. Actual usage is a little higher because we have Postgres, Redis, and a couple other Elastsearch containers offloaded to another server in our K8s cluster. A bit over 4GB with everything combined.

3.4GB on the main node is higher than I was expecting, as evidenced by the percentage graph. We were running a 4GB node, which had us toeing the line of 90% usage all day. Not what I wanted, but the little server stayed up.

# orderedItems[].object.content
First day of running Mastodon, in charts...

Here's our last 24 hours of CPU metrics. Usage unsurprisingly ebbs and flows with traffic: the first spike is after our launch message last night, which was paired with @viticci kicking off his 5.7k follower migration from mastodon.social. Second spike is when we published our post on MacStories this morning.

Overall, even during the spikes we never crossed 25% CPU usage on our dual CPU Linode instance.

# orderedItems[].object.contentMap.en
First day of running Mastodon, in charts...

Here's our last 24 hours of CPU metrics. Usage unsurprisingly ebbs and flows with traffic: the first spike is after our launch message last night, which was paired with @viticci kicking off his 5.7k follower migration from mastodon.social. Second spike is when we published our post on MacStories this morning.

Overall, even during the spikes we never crossed 25% CPU usage on our dual CPU Linode instance.

# orderedItems[].object.content
Alternate final tweet:

Twitter's in the shitter, find me on the 'don.

# orderedItems[].object.contentMap.en
Alternate final tweet:

Twitter's in the shitter, find me on the 'don.

# orderedItems[].object.content
Officially over here now. Let's do this thing, open web style. 🐘🎉

https://twitter.com/_alexguyot/status/1603918839842054144

# orderedItems[].object.contentMap.en
Officially over here now. Let's do this thing, open web style. 🐘🎉

https://twitter.com/_alexguyot/status/1603918839842054144

# orderedItems[].object.content
@kent @viticci @macstories It's a few steps, but not too hard overall. First you have to set a couple Mastodon config variables:

LOCAL_DOMAIN: Your base domain (e.g. macstories.net)

WEB_DOMAIN: The domain where you're hosting the Mastodon website (e.g. mastodon.macstories.net)

Then you have to redirect the path `/.well-known/webfinger` at your base domain to the same path at your subdomain.

More details in the Mastodon docs: https://docs.joinmastodon.org/admin/co nfig/#web_domain

# orderedItems[].object.contentMap.en
@kent @viticci @macstories It's a few steps, but not too hard overall. First you have to set a couple Mastodon config variables:

LOCAL_DOMAIN: Your base domain (e.g. macstories.net)

WEB_DOMAIN: The domain where you're hosting the Mastodon website (e.g. mastodon.macstories.net)

Then you have to redirect the path `/.well-known/webfinger` at your base domain to the same path at your subdomain.

More details in the Mastodon docs: https://docs.joinmastodon.org/admin/co nfig/#web_domain

# orderedItems[].object.content
@elsua @viticci @macstories My pleasure. Thanks for your support, Luis! 🙌

# orderedItems[].object.contentMap.en
@elsua @viticci @macstories My pleasure. Thanks for your support, Luis! 🙌

# orderedItems[].object.content
@elsua @viticci @macstories Ooh, I hadn't thought about the feed URLs, thanks for pointing this out. You can follow that feed using the URL https://mastodon.macstories.net/@macst ories.rss.

I will look into making the direct macstories.net versions work for the future. Although if I do, it will just be a redirect to the link above, so you'll still be following the canonical version.

# orderedItems[].object.contentMap.en
@elsua @viticci @macstories Ooh, I hadn't thought about the feed URLs, thanks for pointing this out. You can follow that feed using the URL https://mastodon.macstories.net/@macst ories.rss.

I will look into making the direct macstories.net versions work for the future. Although if I do, it will just be a redirect to the link above, so you'll still be following the canonical version.

# orderedItems[].object.content
@antons Ha I went through the same Googling process! Turns out all those old threads are outdated and this is entirely supported now.

The Mastodon docs actually have some solid details: https://docs.joinmastodon.org/admin/co nfig/#web_domain

For better Googling if that’s not enough, just look up how to use Mastodon’s LOCAL_DOMAIN and WEB_DOMAIN.

# orderedItems[].object.contentMap.en
@antons Ha I went through the same Googling process! Turns out all those old threads are outdated and this is entirely supported now.

The Mastodon docs actually have some solid details: https://docs.joinmastodon.org/admin/co nfig/#web_domain

For better Googling if that’s not enough, just look up how to use Mastodon’s LOCAL_DOMAIN and WEB_DOMAIN.

# orderedItems[].object.content
@axiixc @viticci Good catch! We’re really pleased we were able to make that work. @alex is no good, and we didn’t really feel like macstories.social worked if we only wanted ourselves on the server. The WEB_DOMAIN setup is perfect 👌

# orderedItems[].object.contentMap.en
@axiixc @viticci Good catch! We’re really pleased we were able to make that work. @alex is no good, and we didn’t really feel like macstories.social worked if we only wanted ourselves on the server. The WEB_DOMAIN setup is perfect 👌

# orderedItems[].object.content
@axiixc @viticci Good catch! We’re really pleased we were able to make that work. @alex is no good, and we didn’t really feel like macstories.social worked if we only wanted ourselves on the server. The WEB_DOMAIN setup is perfect 👌

# orderedItems[].object.contentMap.en
@axiixc @viticci Good catch! We’re really pleased we were able to make that work. @alex is no good, and we didn’t really feel like macstories.social worked if we only wanted ourselves on the server. The WEB_DOMAIN setup is perfect 👌

# orderedItems[].object.content
@ryanbooker @viticci Apparently these migrations are incredibly slow. Followers are moving over slowly over time.

# orderedItems[].object.contentMap.en
@ryanbooker @viticci Apparently these migrations are incredibly slow. Followers are moving over slowly over time.

# orderedItems[].object.content
@thebatman There are a lot of them out there, it just depends on what your infrastructure setup is. We're running on Kubernetes, and there isn't really a definitive guide for that, so I mostly had to wing it off of a combo of the Mastodon Helm chart's sparse documentation and a bunch of tips I gleaned from many different guides on doing it other ways. It was an adventure! If you have simpler infrastructure though then you can probably find an easier way to the finish line.

# orderedItems[].object.contentMap.en
@thebatman There are a lot of them out there, it just depends on what your infrastructure setup is. We're running on Kubernetes, and there isn't really a definitive guide for that, so I mostly had to wing it off of a combo of the Mastodon Helm chart's sparse documentation and a bunch of tips I gleaned from many different guides on doing it other ways. It was an adventure! If you have simpler infrastructure though then you can probably find an easier way to the finish line.

# orderedItems[].object.content
@tedcarstensen We are running on our Kubernetes cluster (so various flavors of Linux), alongside the Club MacStories and AppStories websites. So no Mac guidance for you I'm afraid, but I'll probably be writing about our setup for either the Club or MacStories at some point.

# orderedItems[].object.contentMap.en
@tedcarstensen We are running on our Kubernetes cluster (so various flavors of Linux), alongside the Club MacStories and AppStories websites. So no Mac guidance for you I'm afraid, but I'll probably be writing about our setup for either the Club or MacStories at some point.

# orderedItems[].object.content
Well the cat's outta the bag, we're running Mastodon 🐘🎉

It's been a long week putting all of this together, but this tech is super cool and it's awesome to be out here floating around the fediverse on our own little instance.

# orderedItems[].object.contentMap.en
Well the cat's outta the bag, we're running Mastodon 🐘🎉

It's been a long week putting all of this together, but this tech is super cool and it's awesome to be out here floating around the fediverse on our own little instance.