Deploy Tracearr using Docker Compose. For full documentation, visit docs.tracearr.com.
Unraid & TrueNAS: Use Community Apps / TrueCharts instead of these compose files.
# 1. Download compose file
curl -O https://raw.githubusercontent.com/connorgallopo/Tracearr/main/docker/examples/docker-compose.pg18.yml
# 2. Generate secrets
echo "JWT_SECRET=$(openssl rand -hex 32)" > .env
echo "COOKIE_SECRET=$(openssl rand -hex 32)" >> .env
# 3. Deploy
docker compose -f docker-compose.pg18.yml up -dOpen http://localhost:3000 and connect your media server.
| File | Description | RAM | Setup |
|---|---|---|---|
docker-compose.pg18.yml |
Recommended — PostgreSQL 18 + TimescaleDB HA | 1GB | Secrets |
docker-compose.example.yml |
Standard — PostgreSQL 16 | 1GB | Secrets |
docker-compose.supervised-example.yml |
All-in-one (Unraid bare metal only) | 2GB | Zero config |
File: docker-compose.pg18.yml
Uses PostgreSQL 18 with TimescaleDB HA image. Includes Toolkit extension for advanced analytics.
# Generate secrets
echo "JWT_SECRET=$(openssl rand -hex 32)" > .env
echo "COOKIE_SECRET=$(openssl rand -hex 32)" >> .env
# Deploy
docker compose -f docker-compose.pg18.yml up -dNote: For new installations only. Data format is incompatible with PostgreSQL 15/16.
File: docker-compose.example.yml
Traditional multi-container setup with official TimescaleDB image.
# Generate secrets
echo "JWT_SECRET=$(openssl rand -hex 32)" > .env
echo "COOKIE_SECRET=$(openssl rand -hex 32)" >> .env
# Deploy
docker compose -f docker-compose.example.yml up -dFile: docker-compose.supervised-example.yml
Single container with TimescaleDB, Redis, and Tracearr bundled. Designed for Unraid bare metal hosts only — not recommended for VMs or nested containers.
| Pros | Cons |
|---|---|
| Zero configuration | Requires 2GB RAM minimum |
| Secrets auto-generated | Less flexible for scaling |
| Includes TimescaleDB Toolkit | Can't use existing infrastructure |
docker compose -f docker-compose.supervised-example.yml up -d- Unraid Community Apps — Search "Tracearr" in the Apps tab
- TrueNAS Apps — Available in the app catalog
- Proxmox VE — Community helper script available
| Variable | Description | Generate |
|---|---|---|
JWT_SECRET |
Authentication token secret | openssl rand -hex 32 |
COOKIE_SECRET |
Session cookie secret | openssl rand -hex 32 |
| Variable | Default | Description |
|---|---|---|
PORT |
3000 |
External port mapping |
TZ |
UTC |
Timezone (e.g., America/New_York) |
LOG_LEVEL |
info |
Log verbosity (debug, info, warn, error) |
DB_PASSWORD |
tracearr |
Database password (standard only) |
CORS_ORIGIN |
* |
Allowed CORS origins |
| Variable | Default | Description |
|---|---|---|
PG_MAX_MEMORY |
Auto-detect | PostgreSQL memory limit (set if auto-detection fails) |
- Go to Stacks → Add Stack
- Name it
tracearr - Choose Web editor
- Paste contents of your chosen compose file
- Add environment variables (if using standard/pg18):
JWT_SECRET= (generate withopenssl rand -hex 32)COOKIE_SECRET= (generate withopenssl rand -hex 32)
- Click Deploy the stack
docker compose pull
docker compose up -d