AWS One-Click Installation for Sourcegraph
This page describes how to launch a verified and pre-configured Sourcegraph instance in just ~10 minutes using our one-click CloudFormation template and standard AMIs.
Prefer manually installing on AWS yourself? See our AMI installation options or our script-install installation options.
Prerequisites
- An AWS account (most regions are supported, see our Launcher below for a complete list)
- General familiarity with AWS
- An EC2 keypair for SSH access
- (optional) A Sourcegraph license to unlock features (view plans or learn how licenses work)
What will be created
Using our wizard, a single EC2 instance will be created with the following:
- EBS root volume: 50GB
- EBS data volume: 500GB - your Sourcegraph data (code and search indices.)
- AWS Network Security Group
- The latest version of Sourcegraph
- (optional) DNS and TLS via AWS Load Balancer and AWS Certificate Manager
Auto-assign public IPv4 address
is not enabled for a subnet within that VPC, please see our Manual AMI instructions instead.Determine your instance size
The number of users and repositories you will use with Sourcegraph determines your instance size. If you fall between two sizes, choose the larger of the two.
Example: With 8,000 users with 80,000 repositories, your instance size would be L. If you have 1,000 users with 80,000 repositories, then size M.
XS | S | M | L | XL | |
---|---|---|---|---|---|
Users | <= 500 | <= 1,000 | <= 5,000 | <= 10,000 | <= 20,000 |
Repositories | <= 5,000 | <= 10,000 | <= 50,000 | <= 100,000 | <= 250,000 |
Recommended Type | m6a.2xlarge | m6a.4xlarge | m6a.8xlarge | m6a.12xlarge | m6a.24xlarge |
Minimum Type | m6a.2xlarge | m6a.2xlarge | m6a.4xlarge | m6a.8xlarge | m6a.12xlarge |
Deploy Sourcegraph ๐
Choose an AWS Region in the launcher below and click Launch Stack. When prompted, choose your SSH Keypair and Sourcegraph Instance Size per the chart above, then Create Stack.
If you're running into any problem, see our Troubleshooting guide.
Confirm you can access Sourcegraph
Find the URL of your Sourcegraph instance in the Outputs section of the AWS Stack. On first launch, Sourcegraph may take ~5 minutes to start and may display a 404 not found
page temporarily.
Executors
Executors are supported using native kubernetes executors.
Executors support auto-indexing and server-side batch changes.
To enable executors you must do the following:
- Connect to the AMI instance using
ssh
- Run
cd /home/ec2-user/deploy/install/
- Replace the placeholder
executor.frontendPassword
inoverride.yaml
- Run the following command to update the executor
CURLhelm upgrade -i -f ./override.yaml --version "$(cat /home/ec2-user/.sourcegraph-version)" executor sourcegraph/sourcegraph-executor-k8s
- Adding the following to the site-admin config using the password you chose previously
CURL"executors.accessToken": "<exector.frontendPassword>", "executors.frontendURL": "http://sourcegraph-frontend:30080", "codeIntelAutoIndexing.enabled": true
- Check
Site-Admin > Executors > Instances
to verify the executor connected successfully. If it does not appear try reboot the instance
To use server-side batch changes you will need to enable the native-ssbc-execution
feature flag.
Secure your instance
By default Sourcegraph will be available over HTTP on the public internet. To secure it you should now perform the following:
- Configure DNS and HTTPS/TLS using an AWS Load Balancer and AWS Certificate Manager.
- Configure user authentication (SSO, SAML, OpenID Connect, etc.)
- Review the new Network Security Group to prevent access from the public internet and follow the principle of least privilege.
Managing Sourcegraph
Backup and restore
We strongly recommend you taking snapshots of the entire Sourcegraph data EBS volume on an automatic, scheduled basis. Only the Sourcegraph data volume (500G) needs to be backed up.
To restore from a backup, simply follow our upgrade instructions and skip directly to Step 2: Launch a new instance - choosing your desired Sourcegraph version and your backed up data volume.
Upgrading your Sourcegraph instance
Updates are released every month, and upgrading is a simple process: backup your instance, detach the Sourcegraph data volume, and start a new instance using the latest AMI with your data volume attached. For step-by-step instructions see here.
Monitoring & alerting
Sourcegraph comes with extensive built-in monitoring dashboards & the ability to configure alerts. Please see our monitoring guide for more information.
Get Support
Feel free to reach out to [email protected]
if you have any questions.
Business support, training, Slack support, SLAs, and dedicated Technical Advisors are all available through Business and Enterprise plans.