Skip to content

Configuration

All configuration lives in your .env file. Every value has a working default, so a local install runs with the file copied straight from .env.example. This page explains each variable so you can adapt it for a real deployment.

Ports

These are the host ports the services are published on. Change them if something else already uses those ports.

VariableDefaultWhat it is
HOST_PORT_WEB8082The web app, the only one your users need to reach
HOST_PORT_SERVER8080The API server
HOST_PORT_TOKEN8081The remote-login service
HOST_PORT_GARAGE_S33900The object store's S3 endpoint

Origins

VariableDefaultWhat it is
ALLOWED_ORIGINSlocal URLsComma-separated list of origins allowed to call the API. Add your domain here for a public deployment, e.g. https://watch.example.com.

Database and cache

Defaults work out of the box with the bundled postgres and dragonfly services. Only change these if you point at an external database or cache.

VariableDefaultWhat it is
DATABASE_URLbundled postgresJDBC URL of the database
DATABASE_USERtypetypeDatabase user
DATABASE_PASSWORDtypetypeDatabase password, change it for production
DRAGONFLY_URLbundled dragonflyRedis-compatible cache URL

Object store (downloads)

Required only to enable downloads. See Docker Compose setup, Part 2.

VariableDefaultWhat it is
DOWNLOADER_S3_ACCESS_KEYplaceholderS3 access key, must start with GK
DOWNLOADER_S3_SECRET_KEYplaceholderS3 secret key
DOWNLOADER_S3_PUBLIC_ENDPOINThttp://localhost:3900The S3 URL the browser uses to fetch finished downloads. For a public deployment this must be a publicly reachable URL.

Secrets, handled automatically

You normally never touch these. On first start an init container generates them into a private volume, and the services read them from there. The SET_ME_... text in .env is recognised as a placeholder and ignored.

VariableWhat it is
YOUTUBE_REMOTE_LOGIN_INTERNAL_TOKENShared secret between the server and the remote-login service
YOUTUBE_SESSION_ENCRYPTION_KEYKey used to encrypt stored sessions

Bringing your own

If you prefer to manage these yourself (for example to share one value across hosts), set a real value in .env and it will be used instead of the generated one.

YouTube remote login (optional feature)

Off by default. Leave it disabled unless you specifically want the remote-login flow.

VariableDefaultWhat it is
YOUTUBE_REMOTE_LOGIN_ENABLEDfalseTurns the feature on
YOUTUBE_REMOTE_LOGIN_CALLBACK_ORIGINserver URLOrigin used for the login callback
YOUTUBE_REMOTE_LOGIN_TTL_MS480000Session lifetime in milliseconds
YOUTUBE_REMOTE_LOGIN_MAX_SESSIONS2Max concurrent login sessions
YOUTUBE_REMOTE_LOGIN_FRAME_FPS10Frame rate of the streamed login view
YOUTUBE_REMOTE_LOGIN_MAX_FRAME_BYTES524288Max size of a single frame

Bug reports

VariableDefaultWhat it is
GITHUB_REPOPriveetee/TypeType-ServerRepo the in-app bug reporter targets
GITHUB_ISSUE_TEMPLATEbug_report_backend.mdIssue template the prefilled link selects, empty for none. See Reporting issues