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 downloader, a remote-login service, and the data stores they rely on. Together they let you run your own video platform end to end.

This guide is for self-hosters who want to run that ecosystem by hand, with a single docker-compose.yml and a .env file, without running any of the bootstrap shell scripts shipped in the repository. Everything those scripts do (creating the .env, generating secrets, provisioning the object store) is documented as plain commands you can read and understand.

The components

ComponentRepository / imageRole
Web appghcr.io/priveetee/typetypeThe interface, plus an nginx that proxies /api to the server
API serverghcr.io/priveetee/typetype-serverAccounts, extraction, the REST API, the core of the ecosystem
Downloaderghcr.io/priveetee/typetype-downloaderPrepares downloads and stores them in the object store
Remote loginghcr.io/priveetee/typetype-tokenOptional YouTube remote-login service
DatabasepostgresAccounts, history, playlists, settings
CachedragonflyRedis-compatible cache
Object storegarageS3-compatible storage for downloads

The ecosystem also includes clients beyond the web app (for example a native Android client). They all talk to the same API server, so a single self-hosted deployment serves every client.

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.

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. Prerequisites — what you need before you start.
  3. Quick start — the recommended one-command install.
  4. Manual setup — the same thing by hand, step by step.
  5. Configuration — every environment variable, explained.
  6. Importing your data — bring in subscriptions, playlists, history.
  7. Reverse proxy and HTTPS — exposing it on your domain.
  8. Maintenance — updates, backups, and logs.
  9. Beta and main — running the stable and preview channels.
  10. Reporting issues — how to report bugs.
  11. Troubleshooting — common issues and fixes.

Where do the files come from?

The docker-compose.yml, nginx.conf, garage.toml, and .env.example referenced throughout this guide live in the TypeType repository. Clone it first (see Manual setup or Quick start).