Touca Server and Touca SDKs are all open-source with a permissive Apache-2 license. You can deploy Touca Server locally or to your own cloud infrastructure. We've made the process straightforward and self-serve. If you ever needed help or had any questions, you are welcome to join our Community Discord server, or send us an email.
Most of our paid plans include dedicated support and professional services for deploying and upgrading self-hosted instances of Touca.
Touca server has a few components and services. In the most basic deployment scenario, you could run them as Docker containers on a single machine.
The instructions below help you get started with this common scenario. To run this script, you need a UNIX machine with at least 2GB of RAM, with Docker and Docker Compose.
There is no restriction for the choice of Unix distribution. The instructions below are written for and tested on Ubuntu 20.04 LTS distribution.
Prepare your machine
- Initial Setup
- Install Docker
- Install docker-compose
This section helps you install Docker and Docker Compose if you do not have them installed locally. They are provided for completeness.
If you have just provisioned a virtual machine, here are a few general best practices to secure it for production use.
Create a new user
sudo adduser touca
sudo usermod -aG sudo touca
Add public key authentication
rsync --archive --chown=touca:touca ~/.ssh /home/touca
Disable password authentication
sudo vim /etc/ssh/sshd_config
sshd_config to no. Reload SSH daemon for your
changes to take effect.
sudo systemctl reload sshd
Setup basic firewall with UFW to make sure only connections to certain services are allowed.
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status
If configured correctly, you should see an output similar to the following:
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Update the apt package index
sudo apt-get update
Install packages to allow apt to use a repository over HTTPS:
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
Add Docker's official GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Setup the stable docker repository.
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Update the apt package index:
sudo apt-get update
Install the latest version of Docker Engine - Community and containerd:
sudo apt-get install docker-ce docker-ce-cli containerd.io
Since we do not want to preface every
docker command with
sudo, create a
Unix group called
sudo groupadd docker
Add current user to the newly created docker user group.
sudo usermod -aG docker $USER
Now log out and log back in again and check if you can successfully run docker without using sudo.
docker run hello-world
Download Docker Compose executable from artifacts of their latest GitHub release:
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Fix permissions of the downloaded binary:
sudo chmod +x /usr/local/bin/docker-compose
Run Install Script
We offer a one-liner bash script to help with locally installing Touca Server. Simply run the following command in the terminal to have the script download public Touca docker images and run them.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/trytouca/trytouca/main/ops/install.sh)"
This script interactively asks you the server installation path, among other things. Once it runs to complition, it will redirect you to the locally installed server to perform basic server configurations and create your first user account.
Did we miss out a required step? We'd love to hear about your experience. Share your thoughts with email@example.com.