Deployment¶
This section covers deploying Tempo to production environments.
Overview¶
Tempo can be deployed in various ways depending on your needs and infrastructure. This guide covers the most common deployment scenarios.
Deployment Methods¶
- Docker Deployment - Deploy using Docker Compose (recommended)
- Production Setup - Production configuration and best practices
- Security - Security considerations and hardening
- Backup and Restore - Data backup and recovery procedures
Quick Start¶
For a quick production deployment:
- Copy
docker-compose.prod.ymland.env.example(as.env) - Set
JWT_SECRET_KEYandPOSTGRES_PASSWORDin.env - Start services with
docker compose -f docker-compose.prod.yml up -d
See the Docker Deployment Guide for detailed instructions.
Key Considerations¶
Security¶
- JWT Secret Key: Must be set via
JWT_SECRET_KEYin.env(production Compose fails without it) - HTTPS: Required for secure cookie transmission
- Database Password: Must be set via
POSTGRES_PASSWORDin.env(same value for Postgres and the API) - Public origin: One reverse-proxy upstream to
127.0.0.1:3004for command center and daily driver (CORS not required on the default path)
Performance¶
- Resource Requirements: Minimum 2GB RAM, 2 CPU cores recommended
- Storage: Plan for growth (database + media files)
- Backup Strategy: Regular backups of database and media
Monitoring¶
- Ready check:
/ready(via public origin/api/readyordocker compose exec). API liveness is/api/health. Public/health(no/api) is the command-center process pulse, not the API. - Version endpoint:
/version - Container logs:
docker compose -f docker-compose.prod.yml logs -f