Deploying Sourcegraph on DigitalOcean
This Terraform plan creates an SSH key and Droplet and deploys the latest stable version of Sourcegraph with TLS using a self-signed certificate.
NOTE: A basic level of knowledge and experience using Terraform is required.
Terraform DigitalOcean authentication
Authentication requires a a DigitalOcean API token set to the
DIGITALOCEAN_TOKEN environment variable.
Terraform plan configuration
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
Makefile has commands to cover the most common use-cases. The easiest way to create your Droplet is to run:
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 when
make destroy: Removes the Droplet and SSH key.
make destroywill destroy the Droplet so back-up the
- SSH into the Droplet
The newer Docker image will be pulled and Sourcegraph will be restarted.
./bin/wait-for-it.sh: line 58: timeout: command not found
bin/wait-for-it.sh script uses the
timeout binary which is not included in macOS. Install using homebrew:
brew install coreutils