Skip to main content

Self-Hosting

Touca Server and Touca SDKs are 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. Join us on Discord or send us an email if you need help or had any questions.

info

Most of our paid plans include dedicated support and professional services for deploying and upgrading self-hosted instances of Touca.

We support two different self-hosted deployments of Touca:

  1. You can host Touca as a set of Docker containers on a single machine. This setup uses Docker Compose and is most suitable for individuals and small engineering teams.
  2. You can deploy Touca to your Kubernetes cluster using our Helm chart. This setup is suitable for engineering teams who are used to hosting third-party tools on Kubernetes.

Both deployments use MinIO, MongoDB, and Redis as service dependencies. If you plan on using Touca at scale, we encourage you to upgrade to our paid deployment setups that use DocumentDB, ElastiCache and S3 instead.

Using Docker Compose

Installing

You can install Touca server locally using either the Touca CLI (recommended) or our install.sh script, or using docker compose directly.

The best way to manage Touca server is through our CLI.

pip install touca

The touca server subcommand helps you install, upgrade, and uninstall the Touca server, as well as to check its status and logs.

touca server install

This command uses docker-compose to install the server into ~/.touca/server and run it. Once the install is over, navigate to Touca server and complete the install wizard.

Uninstalling

To uninstall the server, you can use the following command to stop the running containers and remove all server data from the filesystem.

touca server uninstall

If you have any locally stored test results, you can manually remove them by running rm -r $HOME/.touca/results.

Using Helm

Installing

You can use our Helm chart to deploy Touca to an existing Kubernetes cluster.

git clone git@github.com:trytouca/trytouca.git
cd ops/k8s/helm-chart
helm install <name> .

Uninstalling

You can unintsall Touca the standard way:

helm uninstall <name>
info

Did we miss out a required step? We'd love to hear about your experience. Share your thoughts with support@touca.io.