Skip to content

[Bug]: Error on Youtube login #250

Description

@kinouzero

What happened?

Hi, I installed the stack manually, and I stumble upon 2 problems :

  • first when you have auto connection without password configured on your google account the login doesn't work because the login prompt is stuck waiting for a passkey and impossible to click on the "try other method" button
  • other thing and that's the main problem, I deactivated the auto connection to use password, it worked so first problem solved temporary, but next I have 2 step security on my account I with and without it but the login don't work either and I get a message "error" below the embeded browser but nothing in the logs, the login google work but it fail on the redirect

Steps to reproduce

go to remote YouTube login
try to connect
fail

Area

Token / remote login

Channel

main (stable)

Anything else?

networks:
  default:
    name: ${DOCKER_HOSTNAME}
    external: true

services:
  typetype:
    container_name: typetype
    depends_on:
      typetype-server:
        condition: service_healthy
    healthcheck:
      test: ["CMD-SHELL", "wget -q -O /dev/null http://127.0.0.1/api/version/web"]
      interval: 5s
      timeout: 3s
      retries: 12
    image: ghcr.io/typetype-video/typetype:1.6.0
    networks:
      - default
    restart: always
    volumes:
      - /etc/localtime:/etc/localtime:ro

  typetype-downloader:
    container_name: typetype-downloader
    depends_on:
      typetype-postgres:
        condition: service_healthy
      typetype-token:
        condition: service_healthy
      typetype-valkey:
        condition: service_healthy
    environment:
      DB_URL: postgres://${USER}:${POSTGRES_PASSWORD}@typetype-postgres:${POSTGRES_PORT}/typetype?sslmode=disable
      PUBLIC_BASE_URL: /api/downloader
      REDIS_HOST: typetype-valkey
      REDIS_PORT: ${VALKEY_PORT}
      S3_ENDPOINT: http://minio:${MINIO_PORT}
      S3_PUBLIC_ENDPOINT: http://minio:${MINIO_PORT}
      S3_REGION: minio
      S3_BUCKET: typetype
      S3_ACCESS_KEY: ${TYPETYPE_S3_ACCESS_KEY}
      S3_SECRET_KEY: ${TYPETYPE_S3_SECRET_KEY}
      STORAGE_BACKEND: s3
    image: ghcr.io/typetype-video/typetype-downloader:1.6.0
    networks:
      - default
    restart: always
    volumes:
      - /etc/localtime:/etc/localtime:ro

  typetype-postgres:
    container_name: typetype-postgres
    environment:
      POSTGRES_DB: typetype
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
      POSTGRES_USER: ${USER}
      TZ: ${TZ}
    healthcheck:
      interval: 30s
      retries: 3
      start_period: 10s
      test: ['CMD', 'pg_isready', '-d', 'typetype', '-U', '${USER}']
      timeout: 10s
    image: postgres:16-bookworm
    labels:
      docker.stack: track
      homepage.group: Databases
      homepage.href: ${URL_DB}
      homepage.icon: sh-postgresql
      homepage.name: typetype-postgres
      kuma.__db: '"postgres", "postgresql://${USER}:${POSTGRES_PASSWORD}@typetype-postgres:${POSTGRES_PORT}/typetype"'
      kuma.__docker: '"${DOCKER_HOSTNAME}", "socket", "/var/run/docker.sock", ""'
      wud.display.icon: sh-postgresql
      wud.display.name: typetype-postgres
      wud.tag.include: 16-bookworm
      wud.watch.digest: true
    networks:
      - default
    pull_policy: always
    restart: always
    volumes:
      - /home/${USER}/.config/docker/typetype/db:/var/lib/postgresql/data
      - /etc/localtime:/etc/localtime:ro

  typetype-server:
    container_name: typetype-server
    depends_on:
      typetype-downloader:
        condition: service_started
      typetype-postgres:
        condition: service_healthy
      typetype-token:
        condition: service_healthy
      typetype-valkey:
        condition: service_healthy
    environment:
      ALLOWED_ORIGINS: ${URL_TYPE}
      DATABASE_URL: jdbc:postgresql://typetype-postgres:${POSTGRES_PORT}/typetype
      DATABASE_USER: ${USER}
      DATABASE_PASSWORD: ${POSTGRES_PASSWORD}
      DRAGONFLY_URL: redis://typetype-valkey:${VALKEY_PORT}
      OIDC_CLIENT_ID: ${TYPETYPE_OIDC_CLIENT_ID}
      OIDC_CLIENT_SECRET: ${TYPETYPE_OIDC_CLIENT_SECRET}
      OIDC_ISSUER: ${URL_AUTH}/application/o/typetype/
      OIDC_PROVIDER_NAME: Authentik
      YOUTUBE_REMOTE_LOGIN_ENABLED: true
      YOUTUBE_REMOTE_LOGIN_INTERNAL_TOKEN: ${TYPETYPE_YOUTUBE_REMOTE_LOGIN_INTERNAL_TOKEN}
      YOUTUBE_SESSION_ENCRYPTION_KEY: ${TYPETYPE_YOUTUBE_SESSION_ENCRYPTION_KEY}
    healthcheck:
      test: ["CMD-SHELL", "wget -q -O /dev/null http://127.0.0.1:8080/health"]
    image: ghcr.io/typetype-video/typetype-server:1.6.0
    networks:
      - default
    restart: always
    volumes:
      - /etc/localtime:/etc/localtime:ro

  typetype-token:
    container_name: typetype-token
    environment:
      NODE_ENV: production
      YOUTUBE_REMOTE_LOGIN_ENABLED: true
      YOUTUBE_REMOTE_LOGIN_INTERNAL_TOKEN: ${TYPETYPE_YOUTUBE_REMOTE_LOGIN_INTERNAL_TOKEN}
    healthcheck:
      test: ["CMD-SHELL", "curl --fail --silent http://127.0.0.1:8081/health > /dev/null"]
    image: ghcr.io/typetype-video/typetype-token:1.6.0
    init: true
    ipc: host
    networks:
      - default
    restart: always
    volumes:
      - /etc/localtime:/etc/localtime:ro

  typetype-valkey:
    container_name: typetype-valkey
    healthcheck:
      interval: 30s
      retries: 3
      start_period: 10s
      test: ['CMD', 'valkey-cli', 'ping']
      timeout: 10s
    image: valkey/valkey:9.1.1
    labels:
      docker.stack: track
      homepage.group: Redis
      homepage.href: ${URL_REDIS}
      homepage.icon: sh-valkey
      homepage.name: typetype-valkey
      kuma.__db: '"redis", "redis://typetype-valkey:${VALKEY_PORT}"'
      kuma.__docker: '"${DOCKER_HOSTNAME}", "socket", "/var/run/docker.sock", ""'
      wud.display.icon: sh-valkey
      wud.display.name: typetype-valkey
      wud.link.template: https://github.com/valkey-io/valkey/releases
      wud.tag.include: '^\d+\.\d+\.\d+$$'
    networks:
      - default
    restart: always
    volumes:
      - /home/${USER}/.config/docker/typetype/redis:/data
      - /etc/localtime:/etc/localtime:ro
Image

Logs server :

typetype-server  | 2026-08-25T11:53:45.168989892Z 13:53:45.167 [main] INFO  Application - Autoreload is disabled because the development mode is off.
typetype-server  | 2026-08-25T11:53:45.250331640Z 13:53:45.249 [main] INFO  com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
typetype-server  | 2026-08-25T11:53:45.374694853Z 13:53:45.374 [main] INFO  com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@4690f583
typetype-server  | 2026-08-25T11:53:45.375536705Z 13:53:45.375 [main] INFO  com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
typetype-server  | 2026-08-25T11:53:45.690565849Z WARNING: A restricted method in java.lang.System has been called
typetype-server  | 2026-08-25T11:53:45.690592929Z WARNING: java.lang.System::loadLibrary has been called by io.netty.util.internal.NativeLibraryUtil in an unnamed module (file:/app/app.jar)
typetype-server  | 2026-08-25T11:53:45.690597659Z WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
typetype-server  | 2026-08-25T11:53:45.690599749Z WARNING: Restricted methods will be blocked in a future release unless native access is enabled
typetype-server  | 2026-08-25T11:53:45.690601619Z 
typetype-server  | 2026-08-25T11:53:46.298235705Z 13:53:46.298 [main] INFO  Application - Application started in 1.248 seconds.
typetype-server  | 2026-08-25T11:53:46.334907103Z 13:53:46.334 [DefaultDispatcher-worker-1] INFO  Application - Responding at http://0.0.0.0:8080
typetype-server  | 2026-08-25T11:54:14.898230289Z 13:54:14.898 [eventLoopGroupProxy-7-1] INFO  Application - requestId=323cc860-9050-47a6-b64b-6ee24abaf0ae method=GET path=/health status=200 durationMs=24
typetype-server  | 2026-08-25T11:54:44.941891233Z 13:54:44.941 [eventLoopGroupProxy-7-2] INFO  Application - requestId=b77d0515-2e58-4b57-8379-d542e42b1c12 method=GET path=/health status=200 durationMs=0
typetype-server  | 2026-08-25T11:55:14.981565139Z 13:55:14.981 [eventLoopGroupProxy-7-3] INFO  Application - requestId=58948230-4f7a-4351-acf4-ec4e98ae5592 method=GET path=/health status=200 durationMs=0
typetype-server  | 2026-08-25T11:55:45.015856449Z 13:55:45.015 [eventLoopGroupProxy-7-4] INFO  Application - requestId=4d96cc83-d346-47db-aa7c-5b220d09da1a method=GET path=/health status=200 durationMs=0
typetype-server  | 2026-08-25T11:56:15.052199192Z 13:56:15.051 [eventLoopGroupProxy-7-5] INFO  Application - requestId=4fb8b143-4efa-46ba-aeb0-42855a37c417 method=GET path=/health status=200 durationMs=0
typetype-server  | 2026-08-25T11:56:16.448114521Z 13:56:16.447 [eventLoopGroupProxy-7-6] INFO  Application - requestId=dcf53141-ff7a-473f-afa4-f959d0e2c2f8 method=GET path=/auth/register/status status=200 durationMs=44
typetype-server  | 2026-08-25T11:56:16.518628490Z 13:56:16.518 [eventLoopGroupProxy-7-9] INFO  Application - requestId=a4600518-3312-4547-8ba4-7bfbf1c42be2 method=POST path=/sessions/activity status=401 durationMs=93
typetype-server  | 2026-08-25T11:56:16.518657480Z 13:56:16.518 [eventLoopGroupProxy-7-8] INFO  Application - requestId=d0cde8c5-a1a8-4d26-9825-8e3efa7b3939 method=POST path=/sessions/activity status=401 durationMs=113
typetype-server  | 2026-08-25T11:56:16.519151842Z 13:56:16.519 [eventLoopGroupProxy-7-10] INFO  Application - requestId=8ddc3e5c-8049-4101-9865-eb49bd46b684 method=GET path=/blocked/videos status=401 durationMs=85
typetype-server  | 2026-08-25T11:56:16.519523413Z 13:56:16.519 [eventLoopGroupProxy-7-7] INFO  Application - requestId=f5f7ec11-67f2-4807-9692-ff3a4884a73e method=GET path=/search-history status=401 durationMs=115
typetype-server  | 2026-08-25T11:56:17.320012522Z 13:56:17.319 [eventLoopGroupProxy-7-12] INFO  Application - requestId=cb4b9aee-d81b-4b78-9828-6827c680e69e method=GET path=/auth/me status=401 durationMs=1
typetype-server  | 2026-08-25T11:56:17.386807012Z 13:56:17.386 [eventLoopGroupProxy-7-13] INFO  Application - requestId=d6d1b5b2-0af8-43ab-8059-fd47dca79688 method=POST path=/auth/refresh status=200 durationMs=42
typetype-server  | 2026-08-25T11:56:17.409361762Z 13:56:17.409 [eventLoopGroupProxy-7-14] INFO  Application - requestId=05d0f596-2347-4d17-a76f-9a71a8b62ccb method=GET path=/auth/me status=200 durationMs=8
typetype-server  | 2026-08-25T11:56:17.489041516Z 13:56:17.488 [eventLoopGroupProxy-7-18] INFO  Application - requestId=0f82a938-43bc-4a37-84e4-3e9cbf97c173 method=GET path=/auth/register/status status=200 durationMs=2
typetype-server  | 2026-08-25T11:56:17.495639114Z 13:56:17.495 [eventLoopGroupProxy-7-17] INFO  Application - requestId=39253998-4c40-4324-81fa-c2b14da466b5 method=GET path=/youtube-session/status status=200 durationMs=11
typetype-server  | 2026-08-25T11:56:17.497988010Z 13:56:17.497 [eventLoopGroupProxy-7-16] INFO  Application - requestId=aa514289-91b2-47a7-a426-e1386b91a2b9 method=GET path=/search-history status=200 durationMs=16
typetype-server  | 2026-08-25T11:56:17.499755875Z 13:56:17.499 [eventLoopGroupProxy-7-15] INFO  Application - requestId=30cd0090-9d9c-4e3f-96a4-697de5a4c646 method=GET path=/settings status=200 durationMs=20
typetype-server  | 2026-08-25T11:56:17.501621900Z 13:56:17.501 [eventLoopGroupProxy-7-19] INFO  Application - requestId=5e73e293-e73c-4859-961e-801f6eb65762 method=POST path=/sessions/activity status=204 durationMs=11
typetype-server  | 2026-08-25T11:56:17.541122306Z 13:56:17.540 [DefaultDispatcher-worker-7] INFO  d.t.s.s.SubscriptionFeedService - subscription_feed event=refresh_started user=c9be25389960a1c03a4d4b62ee195e911b1ad091930f4d6252c7670e7592aabc requestId=d530a7f3-ae54-4b43-a143-1820120a79ec
typetype-server  | 2026-08-25T11:56:17.543479603Z 13:56:17.543 [eventLoopGroupProxy-7-20] INFO  Application - requestId=d530a7f3-ae54-4b43-a143-1820120a79ec method=GET path=/notifications/unread-count status=200 durationMs=10
typetype-server  | 2026-08-25T11:56:17.548051585Z 13:56:17.547 [DefaultDispatcher-worker-7] INFO  d.t.s.s.SubscriptionFeedService - subscription_feed event=refresh_completed user=c9be25389960a1c03a4d4b62ee195e911b1ad091930f4d6252c7670e7592aabc requestId=d530a7f3-ae54-4b43-a143-1820120a79ec generation=1787658977545 videos=0 failedSources=0 durationMs=7
typetype-server  | 2026-08-25T11:56:17.636735003Z 13:56:17.636 [eventLoopGroupProxy-7-11] INFO  Application - requestId=30db0199-8a22-47ab-be7a-efb46abdd917 method=GET path=/instance status=200 durationMs=322
typetype-server  | 2026-08-25T11:56:17.666763544Z 13:56:17.666 [eventLoopGroupProxy-7-21] INFO  Application - requestId=da283e9b-f5c9-40d5-be0d-5637b6f0c2e2 method=GET path=/blocked/channels status=200 durationMs=10
typetype-server  | 2026-08-25T11:56:17.667809746Z 13:56:17.667 [eventLoopGroupProxy-7-22] INFO  Application - requestId=ed14c336-0b4a-41cf-af79-5c3eaca27cb3 method=GET path=/blocked/videos status=200 durationMs=9
typetype-server  | 2026-08-25T11:56:17.669195010Z 13:56:17.669 [eventLoopGroupProxy-7-23] INFO  Application - requestId=dcb593bf-0534-475e-b243-3b497c0a0240 method=GET path=/blocked/keywords status=200 durationMs=7
typetype-server  | 2026-08-25T11:56:17.672867970Z 13:56:17.672 [eventLoopGroupProxy-7-24] INFO  Application - requestId=f63120b5-93b0-44b1-ab96-b8c885505430 method=GET path=/notifications status=200 durationMs=8
typetype-server  | 2026-08-25T11:56:21.254642680Z 13:56:21.254 [eventLoopGroupProxy-7-1] INFO  Application - requestId=f13727c9-97ef-469e-b607-303415b630c2 method=POST path=/youtube-session/browser/start status=201 durationMs=12
typetype-server  | 2026-08-25T11:56:45.087569366Z 13:56:45.087 [eventLoopGroupProxy-7-3] INFO  Application - requestId=65071bc8-070c-4a53-9559-0bd878720dd4 method=GET path=/health status=200 durationMs=0
typetype-server  | 2026-08-25T11:57:15.135476615Z 13:57:15.135 [eventLoopGroupProxy-7-4] INFO  Application - requestId=73057b5d-e957-404c-b33c-2199f9a0b448 method=GET path=/health status=200 durationMs=0
typetype-server  | 2026-08-25T11:57:18.323600525Z 13:57:18.323 [eventLoopGroupProxy-7-5] INFO  Application - requestId=4dbe2a5a-4849-4784-abc6-2611b95c0ea3 method=POST path=/sessions/activity status=204 durationMs=2
typetype-server  | 2026-08-25T11:57:45.174107607Z 13:57:45.173 [eventLoopGroupProxy-7-7] INFO  Application - requestId=fde4d8e2-91c3-40d3-b240-9008a6aec108 method=GET path=/health status=200 durationMs=0

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: backendTypeType-Server API or extractionarea: tokenTypeType-Token servicebugSomething isn't workingpriority: mediumMedium priority

    Type

    No type

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions