Installation
The following is a quickstart guide. Need more help? Check out Tracecat’s full self-hosting guide.
Tracecat supports three deployment options:
- Docker Compose
- AWS Fargate via Terraform
- Kubernetes via Helm (coming soon)
Docker Compose
This deployment has been tested on Ubuntu (22.04 LTS and 24.04 LTS), macOS / RHEL with Docker Desktop, and Windows Linux Subsystem (WSL). For help with other operating systems, please find us on Discord for support.
It you have SELinux installed, you’ll also need to add the :z
suffix to the Caddy volume mount:
./Caddyfile:/etc/caddy/Caddyfile:z
in the Docker Compose file.
Deploy a local Tracecat stack using Docker Compose. View step-by-step instructions here.
If you’ve deployed Tracecat into an external VM (e.g. AWS EC2, GCP Compute Engine, Azure VM),
you’ll need to set PUBLIC_APP_URL
and PUBLIC_API_URL
in the .env
file to the IP address or host you are accessing Tracecat from.
For example, if you are port forwarding Tracecat from http://localhost
(port 80) inside AWS EC2 to http://localhost:8080
on your local machine,
you must set PUBLIC_APP_URL
to http://localhost:8080
and PUBLIC_API_URL
to http://localhost:8080/api/
.
Moreover, if you are using a Windows machine, make sure to set PUBLIC_APP_URL
to 127.0.0.1
(not localhost
).
You can set these options when running the env.sh
configuration script.
Check out the generated .env
file to better understand Tracecat’s configurations.
You can also view the template .env.example
file here.
AWS Fargate
For advanced users: deploy a production-ready Tracecat stack on AWS Fargate using Terraform. View step-by-step instructions here.
Kubernetes
Coming soon.
Next steps
Learn how to log into Tracecat and create your first workflow.
Was this page helpful?