/mastodon-helm-chart

Example helm chart to run mastodon

Primary LanguageSmarty

Example Mastodon Helm Chart

In this repo is what I created when attempting to test Mastodon (https://github.com/mastodon/mastodon) running on Kubernetes. I did this purely to learn and am providing it for reference. I will not go into great detail on how to set this up.

Usage

I am assuming you have a basic understanding of using Kubernetes. I also assume you are familiar with helm. You'll need helm 3. You will very likely need to adjust the values files I provide. There are many settings that are specific to my setup, like using ingress-nginx and democratic-csi to provision iscsi storage from TrueNAS.

Add Jelm Repositories

  • helm repo add bitnami https://charts.bitnami.com/bitnami

Install Prereqs

According to the install docs, PostgreSQL and Redis are both required to be running and accessible. For this I simply installed Bitnami's with some settings defined. In this repo you will find the values I used. Install these items doing something like:

  • helm install -f postgresql.yaml -n mastodon --create-namespace postgresql bitnami/postgresql
  • helm install -f redis.yaml -n mastodon redis bitnami/redis

Installing Mastodon

In the helm directory, edit the values file to match your settings. Then apply to your cluster with:

  • helm install -n mastodon mastodon .

This will install three copies of the Mastodon docker image, each running a specific aspect of Mastodon including web, streaming and sidekiq. In my testing I was able to do everything a normal Mastodon instance can do. What I did not do was setup any storage for media uploads.

secret generation

docker run -it tootsuite/mastodon bash
bundle exec rake mastodon:webpush:generate_vapid_key
bundle exec rake secret

Contact

You can find me @codervinod