Skip to content

Introduction

TypeType is not a single app, it is a self-hostable ecosystem. A deployment is a set of cooperating services: a web app, an API server, a token and browser service, a downloader, and the data stores they rely on. Together they let you run your own video platform end to end.

This guide covers both the supported installer and a manual Docker Compose setup. The installer creates the .env, generates secrets, selects free ports, and provisions the object store. The manual path documents the same deployment as plain commands so you can inspect and control each step.

The components

ComponentRepository / imageRole
Web appghcr.io/typetype-video/typetypeThe interface, plus an nginx that proxies /api to the server
API serverghcr.io/typetype-video/typetype-serverAccounts, extraction, the REST API, the core of the ecosystem
Downloaderghcr.io/typetype-video/typetype-downloaderPrepares downloads and stores them in the object store
Tokenghcr.io/typetype-video/typetype-tokenYouTube PO tokens, player decoding, SABR metadata, subtitles, and optional remote login
DatabasepostgresAccounts, history, playlists, settings
CachedragonflyRedis-compatible cache
Object storegarageS3-compatible storage for downloads

Other clients can use the same API server, so a single self-hosted deployment can serve more than the web app.

How they fit together

Only the web app needs to be reachable by your users. In production you put a reverse proxy in front of it and serve it over HTTPS, as described in Reverse proxy and HTTPS.

Token is an internal service, but it is not optional for current YouTube playback. YOUTUBE_REMOTE_LOGIN_ENABLED controls only the interactive YouTube sign-in feature; PO-token, decoder, subtitle, and SABR work still use Token when remote login is off.

For source ownership and the browser playback path, see the project overview and Playback and downloads.

What it looks like

A self-hosted instance once it is running, playing a video, searching, and the settings:

Watching a video on a self-hosted instance


Search results


The settings page


Playback in action:

Video playback

How this guide is organised

  1. Architecture — how the pieces communicate, and where data lives.
  2. Security boundaries — what is public, internal, and browser-backed.
  3. Prerequisites — what you need before you start.
  4. Quick start — the recommended one-command install.
  5. Manual setup — the same thing by hand, step by step.
  6. Configuration — every environment variable, explained.
  7. Importing your data — bring in subscriptions, playlists, history.
  8. Reverse proxy and HTTPS — exposing it on your domain.
  9. Maintenance — updates, backups, and logs.
  10. Beta and main — running the stable and preview channels.
  11. Reporting issues — how to report bugs.
  12. Troubleshooting — common issues and fixes.

Where do the files come from?

The docker-compose.yml, .env.example, and stack scripts referenced throughout this guide live in the TypeType repository. The web image includes its nginx configuration, while Compose initializes Garage's default configuration in a named volume. Clone the central repository first (see Manual setup or Quick start).