jitsi

hajowieland/jitsi/aws

Terraform Module HCL AWS

Terraform to create Jitsi Meet on AWS backed by RDS Aurora-Serverless database

Install
module "jitsi" {
source = "hajowieland/jitsi/aws"
version = "2.0.0"
}
plain text: /constructs/tfmod-hajowieland-jitsi-aws/install.txt
⭐ Source on GitHub 📦 Registry page
README

terraform-aws-jitsi This repository contains Terraform code to create an Jitsi Meet instance on AWS backed by an RDS Aurora Serverless database for authentication with Prometheus monitoring and Grafana dashboards. Terraform Module: https://registry.terraform.io/modules/hajowieland/aws/jitsi/ Blog Post: https://napo.io/posts/jitsi-on-aws-with-terraform/ --- Table of Contents - Prerequisites - Features - Usage - Cross-Account - Single-Account - Add authenticated Users - Notes - Links - Changelog - TODO --- Prerequisites You need the following before deploying this Terraform module: 1. AWS Account and IAM Role to deploy these AWS resources 2. Route53 Public Hosted Zone 3. Route53 Private Hosted Zone 4. _OPTIONAL:_ If your Route53 zones are in a different AWS Account, the IAM Role in this acco

Inputs (50)
NameTypeDescriptionDefault
cw_kms_arnstringKMS Key ARN for CloudWatch encryption required
db_subnet_group_namestringName for DB subnet group to associate with this Aurora Cluster required
public_zone_idstringRoute53 Public Hosted Zone ID to create public Jitsi DNS records required
letsencrypt_emailstringE-Mail address for LetsEncrypt required
aws_regionstringAWS Region (e.g. `eu-central-1`) required
domainstringThe domain part of the Route53 A record referencing the Jitsi DNS (e.g. `example required
kms_keystringThe ARN, ID or AliasARN for the KMS encryption key (RDS encryption-at-rest) required
key_pair_namestringName of pre-existing AWS Key Pair name to associate with Jitsi required
ownerstringTag 'Owner' to be used for all resources required
ec2_instance_typestringEC2 instance type required
jitsi_cidrs_ipv4map(string)IPV4 CIDRs to allow for Jitsi access{ "ALL-IPv4": "0.0.0.0/0" }
retain_countstringHow many snapshots to keep (valid value: integeger between `1` and `1000`)7
ssh_public_key_pathstringSSH Public Key path on your workstation (e.g. `/home/user/.ssh/id_rsa.pub`)""
monitoringstringEnable (1) / Disable (0) Monitoring with Prometheus, Prometheus Exporter, Grafan"1"
backup_windowstringDaily time range during automated backups (if enabled - Default = true) will are"01:00-02:00"
hoststringThe host part of the Route53 A record referencing the Jitsi DNS (e.g. `jitsi` fo"meet"
serverless_minnumberSERVERLESS: Minimum capacity units1
ebs_typestringEBS root block device type (e.g. `standard`, `gp2`)"gp2"
private_zone_idstringRoute53 Private Hosted Zone ID to create private Jitsi DNS records""
jitsi_cidrs_ipv6map(string)IPV6 CIDRs to allow for Jitsi access{ "ALL-IPv6": "::/0" }
timezonestringTimezone set in the EC2 instance UserData"Europe/Berlin"
serverless_seconds_pausenumberSERVERLESS: Seconds after which the the Serverless Aurora DB Cluster will be pau300
preferred_maintenance_windowstringWeekly time range during which system changes can occur (in UTC - e.g. `wed:04:0"sun:02:30-sun:03:30"
backup_retention_daysnumberDays for how long Backups will be retained30
private_recordstringEnable (1) / Disable (0) creation of private Route53 records"0"
schedule_namestringName of the DLM policy schedule"1 week of daily snapshots"
tags_to_add_mapmap(string)Map of extra tags to add to the snapshots{ "SnapshotCreator": "DLM" }
tagsmap(string)Tags as map (preferably generated by terraform-null-label `module.tags`){ "ManagedBy": "terraform", "Module"
prometheus_retentionstringPrometheus TSDB retention time (e.g. `15d` --> 15 days, `1m` --> 1 month)"35d"
arn_rolestringARN of IAM role to assume in cross-account scenarios""
… and 10 more inputs
Outputs (7)
role_arn — ARN of EC2 role
fqdn — FQDN of Jitsi-Meet
eip — Elastic IP address for Jitsi-Meet (will be assigned in UserData and can take a few moments to get as
endpoint — Endpoint for RDS Aurora cluster
instance_profile_arn — ARN of EC2 Instance Profile
sns_topic_arn — Jitsi ASG scaling events SNS topic ARN
sg_id — Jitsi SG ID (e.g. for adding it outside of the module to other SGs)
Resources (27)
aws_autoscaling_groupaws_autoscaling_notificationaws_cloudwatch_log_groupaws_db_subnet_groupaws_dlm_lifecycle_policyaws_eipaws_iam_instance_profileaws_iam_policyaws_iam_roleaws_iam_role_policyaws_iam_role_policy_attachmentaws_internet_gatewayaws_key_pairaws_launch_templateaws_rds_clusteraws_routeaws_route_tableaws_route_table_associationaws_security_groupaws_security_group_ruleaws_sns_topicaws_ssm_parameteraws_subnetaws_vpcrandom_integerrandom_stringtls_private_key
Details
FrameworkTerraform Module
LanguageHCL
Version2.0.0
Cloud AWS
★ Stars18
Forks12
Total downloads6.7k
Inputs50
Outputs7
Resources27
LicenseMIT
Namespacehajowieland
Updated