mirror of
https://github.com/funkypenguin/geek-cookbook/
synced 2025-12-12 17:26:19 +00:00
@@ -5,11 +5,12 @@ icon: material/mastodon
|
||||
---
|
||||
# Toot me up, buttercup!
|
||||
|
||||
Mastondon is a self-hosted / open-source microblogging platform (*heavily inspired by Twitter*), which supports federation, rather than centralization. Like email, any user on any Mastodon instance can follow, "toot" (*not tweet!*), and reply to any user on any _other_ instance.
|
||||
Mastondon is a self-hosted / open-source microblogging platform (*heavily inspired by Twitter*), which supports federation, rather than centralization. Like email, any user on any Mastodon instance can follow, "toot" (*not tweet!*), and reply to any user on any *other* instance.
|
||||
|
||||
Our community Mastodon server is sooo [FKNY](https://so.fnky.nz/web/directory), but if you're already using Mastodon on another server (*or your [own instance][mastodon]*), you can seamlessly interact with us from there too, thanks to the magic of federation!
|
||||
|
||||
!!! question "This is dumb, there's nobody here"
|
||||
|
||||
* Give it time. The first time you get a federated reply from someone on another instance, it just "clicks" (*at least, it did for me*)
|
||||
* Follow some folks (I'm [funkypenguin@so.fnky.nz](https://so.fnky.nz/@funkypenguin))
|
||||
* Install [mobile client](https://joinmastodon.org/apps)
|
||||
@@ -17,7 +18,7 @@ Our community Mastodon server is sooo [FKNY](https://so.fnky.nz/web/directory),
|
||||
## How do I Mastodon?
|
||||
|
||||
1. If you're a [sponsor][github_sponsor], check the special `#mastodon` channel in [Discord][discord]. You'll find a super-sekrit invite URL which will get you setup *instantly*
|
||||
2. If you're *not* a sponsor, go to https://so.fnky.nz, and request an invite (*invites must be approved to prevent abuse*) - mention your [Discord][discord] username in the "Why do you want to join?" question.
|
||||
2. If you're *not* a sponsor, go to [FNKY](https://so.fnky.nz), and request an invite (*invites must be approved to prevent abuse*) - mention your [Discord][discord] username in the "Why do you want to join?" question.
|
||||
3. Start tootin'!
|
||||
|
||||
## So who do I follow?
|
||||
@@ -39,8 +40,8 @@ With the goal of creating a safe and inclusive community, we've adopted the [Con
|
||||
|
||||
To report a violation of our code of conduct in our Mastodon server, type use Mastodon's "report" function to report a violation, as illustrated below:
|
||||
|
||||
{ loading=lazy }
|
||||
{ loading=lazy }
|
||||
|
||||
Moderators will be alerted to your report, who will address the issue as detailed in the [enforcement guidelines](/community/code-of-conduct/#enforcement-guidelines).
|
||||
|
||||
--8<-- "common-links.md"
|
||||
--8<-- "common-links.md"
|
||||
|
||||
@@ -13,7 +13,6 @@ In the [previous recipe](/kubernetes/persistence/rook-ceph/operator/), we deploy
|
||||
|
||||
We'll end up with multilpe storageClasses which we can use to allocate storage to pods from either Ceph RBD (*block storage*), or CephFS (*a mounted filesystem*). In many cases, CephFS is a useful choice, because it can be mounted from more than one pod **at the same time**, which makes it suitable for apps which need to share access to the same data ([NZBGet][nzbget], [Sonarr][sonarr], and [Plex][plex], for example)
|
||||
|
||||
|
||||
## Rook Ceph Cluster requirements
|
||||
|
||||
!!! summary "Ingredients"
|
||||
@@ -419,4 +418,4 @@ What have we achieved? We're half-way to getting a ceph cluster, having deployed
|
||||
|
||||
--8<-- "recipe-footer.md"
|
||||
|
||||
[^1]: Unless you **wanted** to deploy your cluster components in a separate namespace to the operator, of course!
|
||||
[^1]: Unless you **wanted** to deploy your cluster components in a separate namespace to the operator, of course!
|
||||
|
||||
@@ -100,7 +100,6 @@ pspEnable: false # (1)!
|
||||
|
||||
1. PSPs are deprecated, and will eventually be removed in Kubernetes 1.25, at which point this will cause breakage.
|
||||
|
||||
|
||||
### HelmRelease
|
||||
|
||||
Finally, having set the scene above, we define the HelmRelease which will actually deploy the rook-ceph operator into the cluster. I save this in my flux repo:
|
||||
|
||||
@@ -8,30 +8,29 @@ hide:
|
||||
|
||||
Recipe | Description | Date
|
||||
-------------------------|----------------------------------------------------------------------------------------------------------------------------------|--------------
|
||||
[Mastodon (K8s)][k8s/mastodon] | Kubernetes version of the Mastodon recipe below | _8 Aug 2022_
|
||||
[Mastodon][mastodon] | Federated social network. Think "*twitter but like email*" | _5 Aug 2022_
|
||||
[Kavita][kavita] | "Rocket-fueled" reader for manga/comics/ebooks, able to save reading position across devices/sessions | _27 Jul 2022_
|
||||
[Authelia][authelia] | Authentication and two factor authorization server with Authelia | _1 Nov 2021_
|
||||
[Prowlarr][prowlarr] | An indexer manager/proxy built on the popular arr .net/reactjs base stack to integrate with the [AutoPirate][autopirate] friends | _27 Oct 2021_
|
||||
[Archivebox][archivebox] | Website Archiving service to save websites to view offline | _19 Oct 2021_
|
||||
[Readarr][readarr] | [Autopirate][autopirate] component to grab and manage eBooks (*think "Sonarr/Radarr for books*") | _18 Oct 2021_
|
||||
|
||||
[Mastodon (K8s)][k8s/mastodon] | Kubernetes version of the Mastodon recipe below | *8 Aug 2022*
|
||||
[Mastodon][mastodon] | Federated social network. Think "*twitter but like email*" | *5 Aug 2022*
|
||||
[Kavita][kavita] | "Rocket-fueled" reader for manga/comics/ebooks, able to save reading position across devices/sessions | *27 Jul 2022*
|
||||
[Authelia][authelia] | Authentication and two factor authorization server with Authelia | *1 Nov 2021*
|
||||
[Prowlarr][prowlarr] | An indexer manager/proxy built on the popular arr .net/reactjs base stack to integrate with the [AutoPirate][autopirate] friends | *27 Oct 2021*
|
||||
[Archivebox][archivebox] | Website Archiving service to save websites to view offline | *19 Oct 2021*
|
||||
[Readarr][readarr] | [Autopirate][autopirate] component to grab and manage eBooks (*think "Sonarr/Radarr for books*") | *18 Oct 2021*
|
||||
|
||||
## Recent updates
|
||||
|
||||
Recipe | Description | Date
|
||||
----------------------------|------------------------------------------------------------------------------|--------------
|
||||
[Authelia][authelia] | Updated with test services, fixed errors | _27 Jul 2022_
|
||||
[Minio][minio] | Major update to Minio recipe, for new Console UI and Traefik v2 | _22 Oct 2021_
|
||||
[Traefik Forward Auth][tfa] | Major update for Traefik v2, included instructions for Dex, Google, Keycloak | _29 Jan 2021_
|
||||
[Autopirate][autopirate] | Updated all components for Traefik v2 labels | _29 Jan 2021_
|
||||
[Authelia][authelia] | Updated with test services, fixed errors | *27 Jul 2022*
|
||||
[Minio][minio] | Major update to Minio recipe, for new Console UI and Traefik v2 | *22 Oct 2021*
|
||||
[Traefik Forward Auth][tfa] | Major update for Traefik v2, included instructions for Dex, Google, Keycloak | *29 Jan 2021*
|
||||
[Autopirate][autopirate] | Updated all components for Traefik v2 labels | *29 Jan 2021*
|
||||
|
||||
## Recent reviews
|
||||
|
||||
Recipe | Description | Date
|
||||
------------------------|--------------|-------------
|
||||
[Mastodon][review/mastodon] | First review | _9 Aug 2022_
|
||||
[Immich][review/immich] | First review | _3 Aug 2022_
|
||||
[Mastodon][review/mastodon] | First review | *9 Aug 2022*
|
||||
[Immich][review/immich] | First review | *3 Aug 2022*
|
||||
|
||||
## Subscribe to updates
|
||||
|
||||
@@ -39,8 +38,8 @@ Recipe | Description | Date
|
||||
|
||||
Also available via:
|
||||
|
||||
* Mastodon: <https://mastodon.social/@geekcookbook_changes>
|
||||
* RSS: <https://mastodon.social/@geekcookbook_changes.rss>
|
||||
* Mastodon: <https://mastodon.social/@geekcookbook*changes>
|
||||
* RSS: <https://mastodon.social/@geekcookbook*changes.rss>
|
||||
* The #changelog channel in our [Discord server](http://chat.funkypenguin.co.nz)
|
||||
|
||||
--8<-- "common-links.md"
|
||||
|
||||
@@ -11,7 +11,7 @@ description: How to install your own Mastodon instance using Docker Swarm
|
||||
|
||||
!!! question "Why would I run my own instance?"
|
||||
That's a good question. After all, there are all sorts of public instances available, with a [range of themes and communities](https://joinmastodon.org/communities). You may want to run your own instance because you like the tech, because you just think it's cool :material-emoticon-cool-outline:
|
||||
|
||||
|
||||
You may also have realized that since Mastodon is **federated**, users on your instance can follow, toot, and interact with users on any other instance!
|
||||
|
||||
If you're **not** into that much effort / pain, you're welcome to [join our instance][community/mastodon] :material-mastodon:
|
||||
@@ -50,8 +50,6 @@ mkdir -p /var/data/runtime/mastodon/postgres
|
||||
!!! question "Why `/var/data/runtime/mastodon` and not just `/var/data/mastodon`?"
|
||||
The data won't be able to be backed up by a regular filesystem backup, because it'll be in use. We still need to store it **somewhere** though, so we use `/var/data/runtime`, which is excluded from automated backups. See [Data Layout](/reference/data_layout/) for details.
|
||||
|
||||
|
||||
|
||||
### Setup Mastodon enviroment
|
||||
|
||||
Create `/var/data/config/mastodon/mastodon.env` something like the example below..
|
||||
@@ -331,7 +329,7 @@ Next, decide on your chosen username, and create your admin user:
|
||||
cd /var/data/config/mastodon
|
||||
docker-compose -f mastodon.yml run --rm web bin/tootctl accounts \
|
||||
create <username> --email <email address> --confirmed --role admin
|
||||
```
|
||||
```
|
||||
|
||||
The password will be output on completion[^1]:
|
||||
|
||||
@@ -353,7 +351,7 @@ docker-compose -f mastodon.yml down
|
||||
|
||||
The output should look like this:
|
||||
|
||||
```
|
||||
```bash
|
||||
root@raphael:/var/data/config/mastodon# docker-compose -f mastodon.yml down
|
||||
WARNING: Some services (streaming, web) use the 'deploy' key, which will be ignored. Compose does not support 'deploy' configuration - use `docker stack deploy` to deploy to a swarm.
|
||||
Stopping mastodon_streaming_1 ... done
|
||||
@@ -373,7 +371,7 @@ root@raphael:/var/data/config/mastodon#
|
||||
|
||||
## :material-mastodon: Launch Mastodon!
|
||||
|
||||
Launch the Mastodon stack by running
|
||||
Launch the Mastodon stack by running:
|
||||
|
||||
```bash
|
||||
docker stack deploy mastodon -c /var/data/config/mastodon/mastodon.yml
|
||||
@@ -386,8 +384,7 @@ Once you're done, "toot" me by mentioning [funkypenguin@so.fnky.nz](https://so.f
|
||||
!!! tip
|
||||
If your instance feels lonely, try using some [relays](https://github.com/brodi1/activitypub-relays) to bring in the federated firehose!
|
||||
|
||||
|
||||
## Summary
|
||||
## Summary
|
||||
|
||||
What have we achieved? Even though we had to jump through some extra hoops to setup database and users, we now have a fully-swarmed Mastodon instance, ready to federate with the world! :material-mastodon:
|
||||
|
||||
@@ -398,4 +395,4 @@ What have we achieved? Even though we had to jump through some extra hoops to se
|
||||
|
||||
--8<-- "recipe-footer.md"
|
||||
|
||||
[^1]: Or, you can just reset your password from the UI, assuming you have SMTP working
|
||||
[^1]: Or, you can just reset your password from the UI, assuming you have SMTP working
|
||||
|
||||
@@ -128,4 +128,4 @@ Whichever path you take into the "fediverse", [toot me up](https://so.fnky.nz/@f
|
||||
[^1]: https://blog.joinmastodon.org/2019/07/statement-on-gabs-fork-of-mastodon/
|
||||
[^2]: https://blog.joinmastodon.org/2021/10/trumps-new-social-media-platform-found-using-mastodon-code/
|
||||
[^3]: I'll continue to cross-post from Mastodon to Twitter though, for visibility and engagement
|
||||
[^4]: In a [highly controversial PR](https://github.com/mastodon/mastodon/pull/16080), "toots" were renamed to "posts", although my instance [apparently still uses "Toot!"](https://static.funkypenguin.co.nz/2022/FNKY_2022-08-15_19-50-49.png) by default...
|
||||
[^4]: In a [highly controversial PR](https://github.com/mastodon/mastodon/pull/16080), "toots" were renamed to "posts", although my instance [apparently still uses "Toot!"](https://static.funkypenguin.co.nz/2022/FNKY_2022-08-15_19-50-49.png) by default...
|
||||
|
||||
Reference in New Issue
Block a user