Quickstart
This guide gets a full Ticketra stack running on your machine with Docker Compose and walks you through the first login.
Prerequisites
- Docker and Docker Compose v2
- ~8 GB of RAM available to Docker (the stack is tuned to fit within an 8 GB cap)
- Git
1. Get the code
git clone https://github.com/ticketra/ticketra.git
cd ticketra
2. Configure environment and secrets
Copy the environment template and review it:
cp .env.example .env
Secrets are not stored in .env — they live as files in the secrets/ directory and are mounted as Docker secrets. At minimum you need:
| Secret file | Purpose | Requirement |
|---|---|---|
secrets/jwt_secret | Signs session tokens | ≥ 32 characters |
secrets/db_password | PostgreSQL password | strong value |
secrets/admin_password | Initial SUPER_ADMIN password | ≥ 12 characters |
secrets/integration_encryption_key | Encrypts CTI API keys at rest | strong value |
See secrets/README.md in the repository for generating these safely.
The API refuses to start if JWT_SECRET is shorter than 32 characters or admin_password is shorter than 12. Never commit the secrets/ directory or .env.
3. Start the stack
docker compose up -d --build
This builds and starts four containers: frontend, api, postgres, and opensearch. The API automatically runs database migrations and seeds the initial admin user on first boot.
Check that everything is healthy:
docker compose ps
You can also hit the health endpoint:
curl -k https://localhost/api/v1/health
# {"status":"healthy","database":"connected","opensearch":"connected","version":"1.0.0"}
4. Log in
Open https://localhost in your browser. (Local deployments use a self-signed certificate, so you'll need to accept the browser warning.)
Log in with:
- Username: the value of
TICKETRA_ADMIN_USERNAMEin.env(defaultadmin) - Password: the value you placed in
secrets/admin_password
On first login the seed administrator is required to change its password before it can access any resources. This is expected behavior.
5. Tail the logs (optional)
docker compose logs -f api
Next steps
- Run through Your first investigation to learn the core workflow.
- Deploying without internet access? See the Air-gapped install.
- Going to production? Start with the Hardening guide.