Skip to content

Terraform code for toot.community's production environment. Includes modules for infrastructure management on DigitalOcean.

Notifications You must be signed in to change notification settings

toot-community/platform

Repository files navigation

Infrastructure

⚠️ This code is provided as-is — it is not meant to be executed verbatim. No support is provided in any way.

This repository holds all platform code for running a Mastadon server on DigitalOcean using Kubernetes.

Getting started

  1. Create a Digitalocean account
  2. Install Terraform.
  3. Install aws-cli

Credentials

Create a Personal Access Token and a Spaces access key.

The following environment variables have to be set

Personal access token:

  • DIGITALOCEAN_ACCESS_TOKEN

Spaces access keys:

  • SPACES_ACCESS_KEY_ID
  • SPACES_SECRET_ACCESS_KEY

Configure aws-cli with the values from SPACES_ACCESS_KEY_ID and SPACES_SECRET_ACCESS_KEY:

aws configure --profile digitalocean

Active the aws-cli profile:

export AWS_PROFILE=digitalocean

Deployment

In the environments folder you will find a production folder, that's the only environment for now. If you want to test major changes you can simply copy the production folder, change all variables and deploy an entirely seperate environment just for testing.

To deploy the infrastructure needed on Digitalocean you can cd into every folder in environments/production and change all variables.

After you did that you can run...

terraform init
terraform plan
terraform apply

Repeat these steps until you reached the end of the folder tree.

Continue with deploying Mastodon.

About

Terraform code for toot.community's production environment. Includes modules for infrastructure management on DigitalOcean.

Topics

Resources

Code of conduct

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages