Skip to content

Make a Synapse homeserver work on a managed kubernetes server hosted by OVH

Notifications You must be signed in to change notification settings

JDixmier/eimis-synapse

 
 

Repository files navigation

Synapse on Kubernetes

Make an Synapse/Matrix server work on a managed kubernetes server hosted by OVH

The Matrix-synapse stack is based on the work done by Alexander Olofsson : https://gitlab.com/ananace/charts/-/tree/master/charts/matrix-synapse

Prerequisites

  • an account in OVH hosting provider and its credentials (application key, application secret, consumer secret and endpoint)
  • to store Terraform state files : an S3 object storage with the credentials to connect to (access key, secret key, endpoint and region)
  • a valid domain name to reach the future synapse homeserver

Provisioning

  • Create a local.env.sh file copying the script/local.env.template.sh file and fill it with all the environment variables values needed.

    Then source this file :

    source local.env.sh
  • Generate a terraform.tfvars file based on values previouly set :

    sh scripts/generate_tfvars_file.sh
  • Initialize the Terraform workspace

    terraform init
  • Create the Terraform execution plan to validate that everything is ok

    terraform plan
  • Apply the Terraform plan

    terraform apply

This will lead to the creation of a kubernetes cluster with:

  • 1 control plane node
  • 2 workers nodes the kubeconfig file needed to connect to the cluster can be generated with :
sh scripts/generate_kubeconfig_file.sh

Configuration

The configuration part will be done with Ansible and is quite independant from the provisioning part.
For this you just have to execute :

sh scripts/ansible_configuration.sh

About

Make a Synapse homeserver work on a managed kubernetes server hosted by OVH

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 51.0%
  • HCL 49.0%