Quickstart with Docker Compose
The easiest way to deploy OTT on your own server is to use Docker Compose. This method will run OTT in production mode with Redis and PostgreSQL.This setup doesn’t include a reverse proxy, so you’ll need to configure that separately. See the Reverse Proxy Setup guide.
Install Docker and Docker Compose
Ensure you have Docker and Docker Compose installed on your server.
Edit the configuration file
Open
env/production.toml and configure your instance:- Set your
hostname(e.g.,example.com:8080) - Add a YouTube API key from Google Cloud Console
- Generate secure secrets for
api_key(≥40 characters) andsession_secret(≥80 characters)
Manual Deployment
For more control over your deployment, you can install OTT manually without Docker.Requirements
- Node.js: Version matching the specification in package.json (currently 20-22)
- Redis: Required for session management and caching
- Database: PostgreSQL (recommended) or SQLite (not recommended for production)
- YouTube API Key: Obtain from Google Cloud Console
Installation Steps
Docker Compose Configuration
The defaultdocker-compose.yml sets up the following services:
Environment Variables
Key environment variables that can override configuration:NODE_ENV- Set toproductionfor production deploymentsPORT- Server port (default: 3000)OTT_HOSTNAME- Your domain nameYOUTUBE_API_KEY- YouTube Data API v3 keySESSION_SECRET- Secret for session encryption (≥80 characters)OPENTOGETHERTUBE_API_KEY- Admin API key (≥40 characters)DATABASE_URL- Full PostgreSQL connection URLREDIS_URL- Full Redis connection URL
Next Steps
Configuration
Learn about all available configuration options
Reverse Proxy
Set up HTTPS with nginx or other reverse proxy
Database
Configure PostgreSQL or SQLite for your deployment