mods for install (#102)

This commit is contained in:
Dave Horton
2024-12-03 09:02:23 -05:00
committed by GitHub
parent 45fd211f6f
commit de27c76647
6 changed files with 27 additions and 91 deletions

View File

@@ -23,11 +23,5 @@ navi:
title: How to install
pages:
-
path: aws
title: Installing on AWS
-
path: self-hosted
title: Installing elsewhere
-
path: homer
title: Customizing Homer
path: options
title: Installation options

View File

@@ -1,25 +0,0 @@
# Installing on AWS
The recommended way to trial the jambonz software is to [create an account](https://jambonz.cloud/register) on the hosted jambonz system, since this allows you to get up and running in minutes without building servers. Plus, you can always migrate to a self-hosted system at any time with no changes.
When you are ready to build a self-hosted solution (or if you prefer to start with a self-hosted solution), then AWS is the preferred hosting provider for jambonz, because a lot of work has been done to implement a scaling solution that uses AWS autoscale groups and SNS lifecycle notifications to scale gracefully and effectively.
> We intend to add similar scaling support for the other leading hosting providers in the near future. Please contact us if you have specific needs in this regard.
The [jambonz-infrastructure](https://github.com/jambonz/jambonz-infrastructure) repo contains two terraform scripts that you can choose between to create a jambonz cluster:
- [jambonz-devtest](https://github.com/jambonz/jambonz-infrastructure/tree/master/terraform/jambonz-devtest) - this creates a deployment suitable for testing and smaller production deployments. It consists of an autoscale cluster of feature servers, a single Session Border Controller (SBC) server, and a monitoring server.
- [jambonz-prod](https://github.com/jambonz/jambonz-infrastructure/tree/master/terraform/jambonz-prod) - this creates a deployment suitable for larger production deployments. It consists of an autoscale cluster of feature servers, two SBCs (with signaling and media handled on different EC2 instances), and a monitoring server.
The terraform scripts require certain Amazon Machine Images (AMIs) to have been created. The stock version of the terraform scripts search for AMIs under the drachtio AWS account; however, these AMIs are not guaranteed to updated to the latest release at all points in time, so it is recommended that you build AMIs under your account using the provided [packer](https://github.com/jambonz/jambonz-infrastructure/tree/master/packer) scripts. After building the AMIs, you should edit the terraform templates to reference your account as owner (e.g. [here](https://github.com/jambonz/jambonz-infrastructure/blob/50a30cfe85806fea819d4c4ea952e85de475eeb8/terraform/jambonz-devtest/feature-server.tf#L53))
This video provides a step-by-step tutorial on how to bring up a jambonz cluster on AWS
> Note: This video was recorded before the monitoring server was implemented, so the cluster created consists of only two servers instead of the three that will be produced when you follow these steps.
> Note: This video uses the stock terraform scripts that utilizes the AMIs published under the drachtio AWS account. You are free to use these, but as recommended above before going into production you may wish to generate your own AMIs using the provided packer scripts.
<br/>
<div class="video-wrap">
<iframe width="560" height="315" src="https://www.youtube.com/embed/Mniskl22GDI" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>

View File

@@ -0,0 +1,7 @@
# Install options
The recommended way to trial the jambonz software is to [create an account](https://jambonz.cloud/register) on the hosted jambonz system, since this allows you to get up and running in minutes without building servers. Plus, you can always migrate to a self-hosted system at any time with no changes to your application.
If you wish to self-host a jambonz system you can use the [AWS Marketplace offering](https://blog.jambonz.org/installing-jambonz-using-aws-marketplace) which provides a single jambonz instance on one server (what we call a "jambonz mini").
For other deployments including clustered jambonz solutions running on the hosting provider of your choice or bare metal servers we encourage you to reach out to us for a [paid support plan](/docs/support). Paid support plans include a variety of benefits delivered by our team to help your business succeed using jambonz. We prepare, install, tune and support your jambonz systems, prioritize your bug fixes and can assist with your integration and customer on-boarding. If you are serious about deploying jambonz as a mission-critical element of your business, it's a no-brainer to have the folks that developed jambonz working alongside your team. This is also the primary means of financial support for the project, so you are ensuring its future when you purchase a support plan.

View File

@@ -12,7 +12,7 @@ To that end, we believe that all companies in the RTC space that are engaged wit
As a point of comparison, many companies feel that they have a social mission responsibility, and will report on the actions they've taken to fulfill that responsibility apart and aside from their financial results. Our shared responsibility to the stewardship of the open source RTC ecosystem should be treated in the same respectful manner.
On these pages you will find our own statement of commitment as well as instructions on how to install and use the open source.
On these pages you will find our own statement of commitment.

View File

@@ -1,57 +0,0 @@
# Installing on AWS
The quickest way for you to try out jambonz is to create an account on [jambonz.cloud](https://jambonz.cloud/register). This gets you up and running with a few clicks of the mouse, and all of your applications can later be re-pointed to a self-hosted system that you build up.
When you are ready to build your own system, AWS is the recommended hosting provider for jambonz at the present time, because a lot of work has been done to integrate to AWS autoscaling groups and other resources that make deployment and management of a jambonz cluster easy.
> We intend to add similar scaling support for the other leading hosting providers in the near future. If you want to run on a different public cloud and are willing to sponsor the work to make it happen, please contact us.
There are two supported methods for deploying a jambonz system in your AWS account
##### AWS Marketplace
You can deploy a single-server jambonz "mini" system on AWS in a snap by [clicking here](https://aws.amazon.com/marketplace/pp/prodview-55wp45fowbovo?). This AMI is available in all AWS regions and is a great way to quickly stand up a low-cost jambonz system for testing or development purposes.
> Coming soon on AWS Marketplace: we will be offering additional jambonz subscriptions that are suited for a wider variety of deployments - alongside with the "mini" you will be able to choose from a small, medium, or large deployment (just like buying an ice cream cone!).
A few notes when spinning up the AMI for the first time:
<ul>
<li>After the AMI is running for the first time, wait a minute or two before trying to access the portal. There are some userdata scripts that need to finish running to configure the webapp for use. If you attempt to log in before it is complete, you will get a 502 Bad Gateway response. If this happens, just wait a minute or two and try again.</li>
<li>The output variables on the AWS console after the AMI has been deployed will give you the URL of the portal and the username and password to use. The username will be 'admin' and the initial password will the AWS host-id of the EC2 instance. You will be forced to set a new password when you log in for the first time.</li>
</ul>
##### Terraform and packer scripts
A second option is to use our packer and terraform scripts to deploy a jambonz system on AWS. This is a bit more work, because you need to build your own AMIs. You will use packer to build two AMIs (and SBC/web server and a Feature Server), and then you will use terraform to deploy a jambonz system with those AMIs.
Here is what you will need to do:
###### Build AMIs
Check out [jambonz-infrastructure](https://github.com/jambonz/jambonz-infrastructure) repo to your local machine. Make sure you have installed the AWS CLI as well as [packer](https://www.packer.io/) and [terraform](https://www.terraform.io/).
<ul>
<li>change into the ./packer/jambonz-sbc-sip-rtp directory of the repo. Edit the <a href="https://github.com/jambonz/jambonz-infrastructure/blob/0692528616a7ddf3b4b113cc0f1362f4e47fcc36/packer/jambonz-sbc-sip-rtp/template.json#L3">region variable</a> in the template.json file to indicate the region where you want to build the AMIs, if different than us-east-1.</li>
<li>in a terminal window in the `./packer/jambbonz-sbc-sip-rtp` directory, run the command <br/><code>packer build -color=false template.json</code></br>This will create a new AMI for the SBC function under your account in the specified region. Make note the of the AMI id.</li>
<li>change into the `./packer/jambbonz-feature-server` directory of the repo and repeat the steps above to build a second AMI for the feature server element. Make note of this AMI id as well.</li>
</ul>
###### Modify terraform script and deploy
- change into the ./terraform/jambonz-devtest directory
- edit [variables.tf](https://github.com/jambonz/jambonz-infrastructure/blob/master/terraform/jambonz-devtest/variables.tf). You are going to need to change the following variables:
- "ami_owner_account" should be set to your AWS account id;
- "region" should be set to the region you want to deploy in -- the same region the AMIs are in; "public_subnets" will need to be modified as well to have the name of the subnets in your desired region.
- change "ec2_instance_type_sbc" and "ec2_instance_type_fs" to the AMI ids that you built in the previous step, and
- change "key_name" and "ssh_key_path" to your ssh key-pair name and path.
At that point you can run the terraform script:
```bash
terraform init
terraform apply
```
This will build a VPC with associated subnets and internet gateway, security groups etc, and will create one EC2 instance that is the SBC and web server, and a second EC2 instance that is the feature server. The feature server will be in an autoscale group. Also, an aurora serverless mysql database and a redis elasticache service will be created.
After deployment, you can log into the portal at http://<sbc-public-ip>:80 and log in as admin/admin. You will be forced to change the password after you first log in.

View File

@@ -0,0 +1,17 @@
# Install options
The recommended way to trial the jambonz software is to [create an account](https://jambonz.cloud/register) on the hosted jambonz system, since this allows you to get up and running in minutes without building servers. Plus, you can always migrate to a self-hosted system at any time with no changes to your application.
If you wish to self-host a jambonz system you can use the [AWS Marketplace offering](https://blog.jambonz.org/installing-jambonz-using-aws-marketplace) which provides a single jambonz instance running on one server (what we call a "jambonz mini").
For other deployments including clustered jambonz solutions we encourage you to reach out to us for a [paid support plan](/support). Our team will help you deploy jambonz on the hosting provider of your choice or even bare metal servers and will tune and provide ongoing maintenance and upgrades. Customers on paid support plans enjoy a variety of benefits, including:
- access to private customer-only devops and deployment scripts
- initial system build and test performed by our team, working with you
- ongoing updates applied by our team in maintenance windows of your choosing
- prioritization of your bug fixes and feature requests
- creation of a private Slack channel where your team can work directly with our engineers
- a dedicated engineer from the jambonz team assigned to your account as your primary contact.
If you are serious about deploying jambonz as a mission-critical element of your business, it's a no-brainer to have the folks that developed jambonz working alongside your team to help you win.
Paid support and services are also the primary means of financial support for the project, so by purchasing a support plan you are helping ensure a vibrant future for the product. Email us at support@jambonz.org to ask about our support plans.