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 deployThis 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 applycompletes.make destroy: Removes the Droplet and SSH key.
WARNING:
make destroywill destroy the Droplet so back-up the/etc/sourcegraphand/var/opt/sourcegraphdirectories 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 foundThe bin/wait-for-it.sh script uses the timeout binary which is not included in macOS. Install using homebrew:
brew install coreutils