Skip to content

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

Quick Start

For a quick production deployment:

  1. Copy docker-compose.prod.yml and .env.example (as .env)
  2. Set JWT_SECRET_KEY and POSTGRES_PASSWORD in .env
  3. 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_KEY in .env (production Compose fails without it)
  • HTTPS: Required for secure cookie transmission
  • Database Password: Must be set via POSTGRES_PASSWORD in .env (same value for Postgres and the API)
  • Public origin: One reverse-proxy upstream to 127.0.0.1:3004 for 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/ready or docker 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

Next Steps