This repository is no longer a supported Sourcegraph deployment method. If you'd like to deploy Sourcegraph, please see our Deployment Documentation to learn about our supported deployment methods.
This Terraform plan creates an SSH key and Droplet and deploys the latest stable version of Sourcegraph with TLS using a self-signed certificate.
🎬 Watch screencast on Vimeo.com
NOTE: A basic level of knowledge and experience using Terraform is required.
Authentication requires a a DigitalOcean API token set to the DIGITALOCEAN_TOKEN
environment variable.
The existence of a terraform.tfvars
file is required. To create it, copy the contents of terraform.tfvars.sample
to a new terraform.tfvars
file and review to see which variables (if any) you'd like to set.
The only required variable is
ssh_key_file
.
The Makefile
has commands to cover the most common use-cases. The easiest way to create your Droplet is to run:
make deploy
This will create the Droplet and poll the server to let you know when Sourcegraph is ready.
Other commands include:
make init
: Downloads the required Terraform provider packages.make plan
: Review what resources Terraform will create, change or remove.make apply
: Creates the Droplet and SSH key.make sourcegraph
: Waits for Sourcegraph to accept connections.make output
: Displays the same output as whenmake apply
completes.make destroy
: Removes the Droplet and SSH key.
WARNING:
make destroy
will destroy the Droplet so back-up the/etc/sourcegraph
and/var/opt/sourcegraph
directories first.
- SSH into the Droplet
- Run
./sourcegraph-upgrade
The newer Docker image will be pulled and Sourcegraph will be restarted.
./bin/wait-for-it.sh: line 58: timeout: command not found
The bin/wait-for-it.sh
script uses the timeout
binary which is not included in macOS. Install using homebrew:
brew install coreutils