[GH-ISSUE #1308] Yt session generator is not connecting #25470

Closed
opened 2026-06-18 14:09:33 -05:00 by GiteaMirror · 9 comments
Owner

Originally created by @linuxfight on GitHub (Jun 1, 2025).
Original GitHub issue: https://github.com/imputnet/cobalt/issues/1308

problem description

Default settings, can send requests to yt-session-generator and it is working, but cobalt has connection refused error:

cobalt                | 
cobalt                | cobalt API ^ω^
cobalt                | ~~~~~~
cobalt                | version: 11.0.2
cobalt                | commit: a7bf5c525dee5f6c6b273d4834823c792c37ff4d
cobalt                | branch: main
cobalt                | remote: imputnet/cobalt
cobalt                | start time: Sun, 01 Jun 2025 22:59:07 GMT
cobalt                | ~~~~~~
cobalt                | url: https://api.url.example/
cobalt                | port: 9000
cobalt                | 
cobalt                | [✓] internal tunnel handler running on 127.0.0.1:41267
cobalt                | [!] Failed loading poToken & visitor_data at 2025-06-01T22:59:08.017Z.
cobalt                | Error: TypeError: fetch failed
cobalt                |     at node:internal/deps/undici/undici:13510:13
cobalt                |     at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
cobalt                |     at async loadSession (file:///app/src/processing/helpers/youtube-session.js:38:24) {
cobalt                |   [cause]: Error: connect ECONNREFUSED 172.19.0.3:8080
cobalt                |       at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1636:16) {
cobalt                |     errno: -111,
cobalt                |     code: 'ECONNREFUSED',
cobalt                |     syscall: 'connect',
cobalt                |     address: '172.19.0.3',
cobalt                |     port: 8080
cobalt                |   }
cobalt                | }

There's also a problem with session generator, where if you start it again (not dry run) it wil crash with an error:

yt-session-generator  | [INFO] launching chromium instance
yt-session-generator  | 2025/06/01 23:05:18.308 [extractor] [INFO] update started
yt-session-generator  | Traceback (most recent call last):
yt-session-generator  |   File "/app/potoken-generator.py", line 4, in <module>
yt-session-generator  |     potoken_generator.main.main()
yt-session-generator  |   File "/app/potoken_generator/main.py", line 98, in main
yt-session-generator  |     loop.run_until_complete(main_task)
yt-session-generator  |   File "/usr/local/lib/python3.12/asyncio/base_events.py", line 686, in run_until_complete
yt-session-generator  |     return future.result()
yt-session-generator  |            ^^^^^^^^^^^^^^^
yt-session-generator  |   File "/app/potoken_generator/main.py", line 35, in run
yt-session-generator  |     token = await potoken_extractor.run_once()
yt-session-generator  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
yt-session-generator  |   File "/app/potoken_generator/extractor.py", line 46, in run_once
yt-session-generator  |     await self._update()
yt-session-generator  |   File "/app/potoken_generator/extractor.py", line 91, in _update
yt-session-generator  |     await asyncio.wait_for(self._perform_update(), timeout=600)
yt-session-generator  |   File "/usr/local/lib/python3.12/asyncio/tasks.py", line 520, in wait_for
yt-session-generator  |     return await fut
yt-session-generator  |            ^^^^^^^^^
yt-session-generator  |   File "/app/potoken_generator/extractor.py", line 104, in _perform_update
yt-session-generator  |     browser = await nodriver.start(headless=False,
yt-session-generator  |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
yt-session-generator  |   File "/usr/local/lib/python3.12/site-packages/nodriver/core/util.py", line 74, in start
yt-session-generator  |     return await Browser.create(config)
yt-session-generator  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
yt-session-generator  |   File "/usr/local/lib/python3.12/site-packages/nodriver/core/browser.py", line 87, in create
yt-session-generator  |     await instance.start()
yt-session-generator  |   File "/usr/local/lib/python3.12/site-packages/nodriver/core/browser.py", line 343, in start
yt-session-generator  |     raise Exception(
yt-session-generator  | Exception: 
yt-session-generator  |                 ---------------------
yt-session-generator  |                 Failed to connect to browser
yt-session-generator  |                 ---------------------
yt-session-generator  |                 One of the causes could be when you are running as root.
yt-session-generator  |                 In that case you need to pass no_sandbox=True 
yt-session-generator  |                 
yt-session-generator  | successfully removed temp profile /tmp/tmpro75r_2f
yt-session-generator exited with code 1

your instance configuration

compose:

services:
    cobalt:
        image: ghcr.io/imputnet/cobalt:11

        init: true
        read_only: true
        restart: unless-stopped
        container_name: cobalt

        ports:
            - 127.0.0.1:9000:9000

        environment:
            API_URL: "https://api.url.example/"
            YOUTUBE_SESSION_SERVER: "http://yt-session-generator:8080/"

        labels:
          - com.centurylinklabs.watchtower.scope=cobalt

    watchtower:
        image: ghcr.io/containrrr/watchtower
        restart: unless-stopped
        command: --cleanup --scope cobalt --interval 900 --include-restarting
        volumes:
            - /var/run/docker.sock:/var/run/docker.sock

    yt-session-generator:
        image: ghcr.io/imputnet/yt-session-generator:webserver
        ports:
          - 127.0.0.1:8080:8080
        init: true
        restart: unless-stopped
        container_name: yt-session-generator
        labels:
          - com.centurylinklabs.watchtower.scope=cobalt
Originally created by @linuxfight on GitHub (Jun 1, 2025). Original GitHub issue: https://github.com/imputnet/cobalt/issues/1308 ### problem description Default settings, can send requests to yt-session-generator and it is working, but cobalt has connection refused error: ``` cobalt | cobalt | cobalt API ^ω^ cobalt | ~~~~~~ cobalt | version: 11.0.2 cobalt | commit: a7bf5c525dee5f6c6b273d4834823c792c37ff4d cobalt | branch: main cobalt | remote: imputnet/cobalt cobalt | start time: Sun, 01 Jun 2025 22:59:07 GMT cobalt | ~~~~~~ cobalt | url: https://api.url.example/ cobalt | port: 9000 cobalt | cobalt | [✓] internal tunnel handler running on 127.0.0.1:41267 cobalt | [!] Failed loading poToken & visitor_data at 2025-06-01T22:59:08.017Z. cobalt | Error: TypeError: fetch failed cobalt | at node:internal/deps/undici/undici:13510:13 cobalt | at process.processTicksAndRejections (node:internal/process/task_queues:105:5) cobalt | at async loadSession (file:///app/src/processing/helpers/youtube-session.js:38:24) { cobalt | [cause]: Error: connect ECONNREFUSED 172.19.0.3:8080 cobalt | at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1636:16) { cobalt | errno: -111, cobalt | code: 'ECONNREFUSED', cobalt | syscall: 'connect', cobalt | address: '172.19.0.3', cobalt | port: 8080 cobalt | } cobalt | } ``` There's also a problem with session generator, where if you start it again (not dry run) it wil crash with an error: ``` yt-session-generator | [INFO] launching chromium instance yt-session-generator | 2025/06/01 23:05:18.308 [extractor] [INFO] update started yt-session-generator | Traceback (most recent call last): yt-session-generator | File "/app/potoken-generator.py", line 4, in <module> yt-session-generator | potoken_generator.main.main() yt-session-generator | File "/app/potoken_generator/main.py", line 98, in main yt-session-generator | loop.run_until_complete(main_task) yt-session-generator | File "/usr/local/lib/python3.12/asyncio/base_events.py", line 686, in run_until_complete yt-session-generator | return future.result() yt-session-generator | ^^^^^^^^^^^^^^^ yt-session-generator | File "/app/potoken_generator/main.py", line 35, in run yt-session-generator | token = await potoken_extractor.run_once() yt-session-generator | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yt-session-generator | File "/app/potoken_generator/extractor.py", line 46, in run_once yt-session-generator | await self._update() yt-session-generator | File "/app/potoken_generator/extractor.py", line 91, in _update yt-session-generator | await asyncio.wait_for(self._perform_update(), timeout=600) yt-session-generator | File "/usr/local/lib/python3.12/asyncio/tasks.py", line 520, in wait_for yt-session-generator | return await fut yt-session-generator | ^^^^^^^^^ yt-session-generator | File "/app/potoken_generator/extractor.py", line 104, in _perform_update yt-session-generator | browser = await nodriver.start(headless=False, yt-session-generator | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yt-session-generator | File "/usr/local/lib/python3.12/site-packages/nodriver/core/util.py", line 74, in start yt-session-generator | return await Browser.create(config) yt-session-generator | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yt-session-generator | File "/usr/local/lib/python3.12/site-packages/nodriver/core/browser.py", line 87, in create yt-session-generator | await instance.start() yt-session-generator | File "/usr/local/lib/python3.12/site-packages/nodriver/core/browser.py", line 343, in start yt-session-generator | raise Exception( yt-session-generator | Exception: yt-session-generator | --------------------- yt-session-generator | Failed to connect to browser yt-session-generator | --------------------- yt-session-generator | One of the causes could be when you are running as root. yt-session-generator | In that case you need to pass no_sandbox=True yt-session-generator | yt-session-generator | successfully removed temp profile /tmp/tmpro75r_2f yt-session-generator exited with code 1 ``` ### your instance configuration ```shell compose: services: cobalt: image: ghcr.io/imputnet/cobalt:11 init: true read_only: true restart: unless-stopped container_name: cobalt ports: - 127.0.0.1:9000:9000 environment: API_URL: "https://api.url.example/" YOUTUBE_SESSION_SERVER: "http://yt-session-generator:8080/" labels: - com.centurylinklabs.watchtower.scope=cobalt watchtower: image: ghcr.io/containrrr/watchtower restart: unless-stopped command: --cleanup --scope cobalt --interval 900 --include-restarting volumes: - /var/run/docker.sock:/var/run/docker.sock yt-session-generator: image: ghcr.io/imputnet/yt-session-generator:webserver ports: - 127.0.0.1:8080:8080 init: true restart: unless-stopped container_name: yt-session-generator labels: - com.centurylinklabs.watchtower.scope=cobalt ```
GiteaMirror added the instance hosting help label 2026-06-18 14:09:33 -05:00
Author
Owner

@acrossoffwest commented on GitHub (Jun 2, 2025):

@linuxfight did you manage to fix it?

<!-- gh-comment-id:2930055687 --> @acrossoffwest commented on GitHub (Jun 2, 2025): @linuxfight did you manage to fix it?
Author
Owner

@linuxfight commented on GitHub (Jun 2, 2025):

Haven't managed to fix it

<!-- gh-comment-id:2930062214 --> @linuxfight commented on GitHub (Jun 2, 2025): Haven't managed to fix it
Author
Owner

@linuxfight commented on GitHub (Jun 2, 2025):

https://github.com/imputnet/yt-session-generator/issues/1

The problem with the session generator is this exact issue, but the issue with cobalt instance is different

<!-- gh-comment-id:2930066883 --> @linuxfight commented on GitHub (Jun 2, 2025): https://github.com/imputnet/yt-session-generator/issues/1 The problem with the session generator is this exact issue, but the issue with cobalt instance is different
Author
Owner

@Gareryer commented on GitHub (Jun 2, 2025):

I am facing same issue too

services:
    cobalt-api:
        image: ghcr.io/imputnet/cobalt:11

        init: true
        read_only: true
        restart: unless-stopped
        container_name: cobalt

        ports:
            - 8088:9000/tcp
        environment:
            API_URL: "https://cobalt.website.com/"
            API_AUTH_REQUIRED: 1
            API_KEY_URL: "file:///keys.json"
            TURNSTILE_SITEKEY: "0xxxxxxxxxxxxxxxxxxxxxxP" # use your key
            TURNSTILE_SECRET: "0xxxxxxxxxxxxxxxxxxxxxx4" # use your key
            JWT_SECRET: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
            YOUTUBE_SESSION_SERVER: "http://host.docker.internal:8089/token"
            COOKIE_PATH: "/cookies.json"
        labels:
            - com.centurylinklabs.watchtower.scope=cobalt
        volumes:
            - ./cookies.json:/cookies.json
            - ./keys.json:/keys.json:ro
        extra_hosts:
            - "host.docker.internal:host-gateway"
        depends_on:
          yt-session-generator:
            condition: service_started

    watchtower:
        image: ghcr.io/containrrr/watchtower
        restart: unless-stopped
        command: --cleanup --scope cobalt --interval 900 --include-restarting
        volumes:
            - /var/run/docker.sock:/var/run/docker.sock

    yt-session-generator:
        image: ghcr.io/imputnet/yt-session-generator:webserver
        init: true
        restart: unless-stopped
        container_name: yt-session-generator
        ports:
          - 8089:8080/tcp

With the above setup i keep getting this error

yt-session-generator  | 2025/05/29 21:48:30.487 [extractor] [INFO] update was succeessful
yt-session-generator  | 2025/05/29 21:53:30.543 [extractor] [INFO] update started
yt-session-generator  | 2025/05/29 21:53:34.606 [extractor] [INFO] new token: {"updated": 1748555614, "potoken": "MnSgFL75bMJwSqAsz5vDWEk6ePgSajdHGZguip0H1kHbhFoYsq9aoG0oDTdzQE_7A-Ib23nMKhX7x_3zfqzVeo6kN2Og76TI2cqx2qhqR15W4rHwpBmx4o9EsHYdnD7z_sEfazrQRSUjtcnHrBxrV2myHPrkYA==", "visitor_data": "CgtjeVcyTERsYmRTUSjcruPBBjIKCgJHQhIEGgAgMQ%3D%3D"}
yt-session-generator  | 2025/05/29 21:53:34.607 [extractor] [INFO] update was succeessful
cobalt                |
cobalt                | cobalt API ^ω^
cobalt                | ~~~~~~
cobalt                | version: 11.0.1
cobalt                | commit: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
cobalt                | branch: main
cobalt                | remote: imputnet/cobalt
cobalt                | start time: Thu, 29 May 2025 21:33:08 GMT
cobalt                | ~~~~~~
cobalt                | url: https://website.com/
cobalt                | port: 9000
cobalt                |
cobalt                | [✓] internal tunnel handler running on 127.0.0.1:46297
cobalt                | [✓] api keys loaded successfully!
cobalt                | [✓] cookies loaded successfully!
cobalt                | [!] Failed loading poToken & visitor_data at 2025-05-29T21:33:18.557Z.
cobalt                | Error: TypeError: fetch failed
cobalt                |     at node:internal/deps/undici/undici:13510:13
cobalt                |     at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
cobalt                |     at async loadSession (file:///app/src/processing/helpers/youtube-session.js:38:24) {
cobalt                |   [cause]: ConnectTimeoutError: Connect Timeout Error
cobalt                |       at onConnectTimeout (/app/node_modules/.pnpm/undici@5.28.4/node_modules/undici/lib/core/connect.js:186:24)
cobalt                |       at /app/node_modules/.pnpm/undici@5.28.4/node_modules/undici/lib/core/connect.js:133:46
cobalt                |       at Immediate._onImmediate (/app/node_modules/.pnpm/undici@5.28.4/node_modules/undici/lib/core/connect.js:174:9)
cobalt                |       at process.processImmediate (node:internal/timers:505:21) {
cobalt                |     code: 'UND_ERR_CONNECT_TIMEOUT'
cobalt                |   }
cobalt                | }
cobalt                | [!] Failed loading poToken & visitor_data at 2025-05-29T21:38:18.596Z.
c
<!-- gh-comment-id:2930134823 --> @Gareryer commented on GitHub (Jun 2, 2025): I am facing same issue too ``` services: cobalt-api: image: ghcr.io/imputnet/cobalt:11 init: true read_only: true restart: unless-stopped container_name: cobalt ports: - 8088:9000/tcp environment: API_URL: "https://cobalt.website.com/" API_AUTH_REQUIRED: 1 API_KEY_URL: "file:///keys.json" TURNSTILE_SITEKEY: "0xxxxxxxxxxxxxxxxxxxxxxP" # use your key TURNSTILE_SECRET: "0xxxxxxxxxxxxxxxxxxxxxx4" # use your key JWT_SECRET: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" YOUTUBE_SESSION_SERVER: "http://host.docker.internal:8089/token" COOKIE_PATH: "/cookies.json" labels: - com.centurylinklabs.watchtower.scope=cobalt volumes: - ./cookies.json:/cookies.json - ./keys.json:/keys.json:ro extra_hosts: - "host.docker.internal:host-gateway" depends_on: yt-session-generator: condition: service_started watchtower: image: ghcr.io/containrrr/watchtower restart: unless-stopped command: --cleanup --scope cobalt --interval 900 --include-restarting volumes: - /var/run/docker.sock:/var/run/docker.sock yt-session-generator: image: ghcr.io/imputnet/yt-session-generator:webserver init: true restart: unless-stopped container_name: yt-session-generator ports: - 8089:8080/tcp ``` With the above setup i keep getting this error ``` yt-session-generator | 2025/05/29 21:48:30.487 [extractor] [INFO] update was succeessful yt-session-generator | 2025/05/29 21:53:30.543 [extractor] [INFO] update started yt-session-generator | 2025/05/29 21:53:34.606 [extractor] [INFO] new token: {"updated": 1748555614, "potoken": "MnSgFL75bMJwSqAsz5vDWEk6ePgSajdHGZguip0H1kHbhFoYsq9aoG0oDTdzQE_7A-Ib23nMKhX7x_3zfqzVeo6kN2Og76TI2cqx2qhqR15W4rHwpBmx4o9EsHYdnD7z_sEfazrQRSUjtcnHrBxrV2myHPrkYA==", "visitor_data": "CgtjeVcyTERsYmRTUSjcruPBBjIKCgJHQhIEGgAgMQ%3D%3D"} yt-session-generator | 2025/05/29 21:53:34.607 [extractor] [INFO] update was succeessful cobalt | cobalt | cobalt API ^ω^ cobalt | ~~~~~~ cobalt | version: 11.0.1 cobalt | commit: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx cobalt | branch: main cobalt | remote: imputnet/cobalt cobalt | start time: Thu, 29 May 2025 21:33:08 GMT cobalt | ~~~~~~ cobalt | url: https://website.com/ cobalt | port: 9000 cobalt | cobalt | [✓] internal tunnel handler running on 127.0.0.1:46297 cobalt | [✓] api keys loaded successfully! cobalt | [✓] cookies loaded successfully! cobalt | [!] Failed loading poToken & visitor_data at 2025-05-29T21:33:18.557Z. cobalt | Error: TypeError: fetch failed cobalt | at node:internal/deps/undici/undici:13510:13 cobalt | at process.processTicksAndRejections (node:internal/process/task_queues:105:5) cobalt | at async loadSession (file:///app/src/processing/helpers/youtube-session.js:38:24) { cobalt | [cause]: ConnectTimeoutError: Connect Timeout Error cobalt | at onConnectTimeout (/app/node_modules/.pnpm/undici@5.28.4/node_modules/undici/lib/core/connect.js:186:24) cobalt | at /app/node_modules/.pnpm/undici@5.28.4/node_modules/undici/lib/core/connect.js:133:46 cobalt | at Immediate._onImmediate (/app/node_modules/.pnpm/undici@5.28.4/node_modules/undici/lib/core/connect.js:174:9) cobalt | at process.processImmediate (node:internal/timers:505:21) { cobalt | code: 'UND_ERR_CONNECT_TIMEOUT' cobalt | } cobalt | } cobalt | [!] Failed loading poToken & visitor_data at 2025-05-29T21:38:18.596Z. c ```
Author
Owner

@linuxfight commented on GitHub (Jun 2, 2025):

I've kinda fixed error with connecting to poToken extractor, but now remains the error with poToken extractor crashing if it is running not for the 1st time:

yt-session-generator  | [INFO] launching chromium instance
yt-session-generator  | 2025/06/02 12:52:11.722 [extractor] [INFO] update started
yt-session-generator  | Traceback (most recent call last):
yt-session-generator  |   File "/app/potoken-generator.py", line 4, in <module>
yt-session-generator  |     potoken_generator.main.main()
yt-session-generator  |   File "/app/potoken_generator/main.py", line 98, in main
yt-session-generator  |     loop.run_until_complete(main_task)
yt-session-generator  |   File "/usr/local/lib/python3.12/asyncio/base_events.py", line 686, in run_until_complete
yt-session-generator  |     return future.result()
yt-session-generator  |            ^^^^^^^^^^^^^^^
yt-session-generator  |   File "/app/potoken_generator/main.py", line 35, in run
yt-session-generator  |     token = await potoken_extractor.run_once()
yt-session-generator  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
yt-session-generator  |   File "/app/potoken_generator/extractor.py", line 46, in run_once
yt-session-generator  |     await self._update()
yt-session-generator  |   File "/app/potoken_generator/extractor.py", line 91, in _update
yt-session-generator  |     await asyncio.wait_for(self._perform_update(), timeout=600)
yt-session-generator  |   File "/usr/local/lib/python3.12/asyncio/tasks.py", line 520, in wait_for
yt-session-generator  |     return await fut
yt-session-generator  |            ^^^^^^^^^
yt-session-generator  |   File "/app/potoken_generator/extractor.py", line 104, in _perform_update
yt-session-generator  |     browser = await nodriver.start(headless=False,
yt-session-generator  |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
yt-session-generator  |   File "/usr/local/lib/python3.12/site-packages/nodriver/core/util.py", line 74, in start
yt-session-generator  |     return await Browser.create(config)
yt-session-generator  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
yt-session-generator  |   File "/usr/local/lib/python3.12/site-packages/nodriver/core/browser.py", line 87, in create
yt-session-generator  |     await instance.start()
yt-session-generator  |   File "/usr/local/lib/python3.12/site-packages/nodriver/core/browser.py", line 343, in start
yt-session-generator  |     raise Exception(
yt-session-generator  | Exception: 
yt-session-generator  |                 ---------------------
yt-session-generator  |                 Failed to connect to browser
yt-session-generator  |                 ---------------------
yt-session-generator  |                 One of the causes could be when you are running as root.
yt-session-generator  |                 In that case you need to pass no_sandbox=True 
yt-session-generator  |                 
yt-session-generator  | successfully removed temp profile /tmp/tmp2w0kbl5d

Here's the updated compose file, that has a fix:

services:
    cobalt:
        image: ghcr.io/imputnet/cobalt:11
        init: true
          # read_only: true
        restart: unless-stopped
        container_name: cobalt
        ports:
            - 127.0.0.1:9000:9000
        environment:
            API_URL: "https://api.url.example/"
            YOUTUBE_SESSION_SERVER: "http://yt-session-generator:8080"
        depends_on:
          yt-session-generator:
            condition: service_healthy
        labels:
          - com.centurylinklabs.watchtower.scope=cobalt

    watchtower:
        image: ghcr.io/containrrr/watchtower
        restart: unless-stopped
        command: --cleanup --scope cobalt --interval 900 --include-restarting
        volumes:
            - /var/run/docker.sock:/var/run/docker.sock
    
    yt-session-generator:
        image: ghcr.io/imputnet/yt-session-generator:webserver
        command: sh -c "./startup-webserver.sh 2>&1 | tee /app.log"
        ports:
          - 127.0.0.1:8080:8080
        init: true
        restart: unless-stopped
        container_name: yt-session-generator
        healthcheck:
          test: ["CMD-SHELL", "grep -Fq '[server] [INFO] Starting web-server at 0.0.0.0:8080' /app.log"]
          interval: 2s
          timeout: 3s
          retries: 15
          start_period: 10s
        labels:
          - com.centurylinklabs.watchtower.scope=cobalt
<!-- gh-comment-id:2930565975 --> @linuxfight commented on GitHub (Jun 2, 2025): I've kinda fixed error with connecting to poToken extractor, but now remains the error with poToken extractor crashing if it is running not for the 1st time: ``` yt-session-generator | [INFO] launching chromium instance yt-session-generator | 2025/06/02 12:52:11.722 [extractor] [INFO] update started yt-session-generator | Traceback (most recent call last): yt-session-generator | File "/app/potoken-generator.py", line 4, in <module> yt-session-generator | potoken_generator.main.main() yt-session-generator | File "/app/potoken_generator/main.py", line 98, in main yt-session-generator | loop.run_until_complete(main_task) yt-session-generator | File "/usr/local/lib/python3.12/asyncio/base_events.py", line 686, in run_until_complete yt-session-generator | return future.result() yt-session-generator | ^^^^^^^^^^^^^^^ yt-session-generator | File "/app/potoken_generator/main.py", line 35, in run yt-session-generator | token = await potoken_extractor.run_once() yt-session-generator | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yt-session-generator | File "/app/potoken_generator/extractor.py", line 46, in run_once yt-session-generator | await self._update() yt-session-generator | File "/app/potoken_generator/extractor.py", line 91, in _update yt-session-generator | await asyncio.wait_for(self._perform_update(), timeout=600) yt-session-generator | File "/usr/local/lib/python3.12/asyncio/tasks.py", line 520, in wait_for yt-session-generator | return await fut yt-session-generator | ^^^^^^^^^ yt-session-generator | File "/app/potoken_generator/extractor.py", line 104, in _perform_update yt-session-generator | browser = await nodriver.start(headless=False, yt-session-generator | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yt-session-generator | File "/usr/local/lib/python3.12/site-packages/nodriver/core/util.py", line 74, in start yt-session-generator | return await Browser.create(config) yt-session-generator | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yt-session-generator | File "/usr/local/lib/python3.12/site-packages/nodriver/core/browser.py", line 87, in create yt-session-generator | await instance.start() yt-session-generator | File "/usr/local/lib/python3.12/site-packages/nodriver/core/browser.py", line 343, in start yt-session-generator | raise Exception( yt-session-generator | Exception: yt-session-generator | --------------------- yt-session-generator | Failed to connect to browser yt-session-generator | --------------------- yt-session-generator | One of the causes could be when you are running as root. yt-session-generator | In that case you need to pass no_sandbox=True yt-session-generator | yt-session-generator | successfully removed temp profile /tmp/tmp2w0kbl5d ``` Here's the updated compose file, that has a fix: ``` services: cobalt: image: ghcr.io/imputnet/cobalt:11 init: true # read_only: true restart: unless-stopped container_name: cobalt ports: - 127.0.0.1:9000:9000 environment: API_URL: "https://api.url.example/" YOUTUBE_SESSION_SERVER: "http://yt-session-generator:8080" depends_on: yt-session-generator: condition: service_healthy labels: - com.centurylinklabs.watchtower.scope=cobalt watchtower: image: ghcr.io/containrrr/watchtower restart: unless-stopped command: --cleanup --scope cobalt --interval 900 --include-restarting volumes: - /var/run/docker.sock:/var/run/docker.sock yt-session-generator: image: ghcr.io/imputnet/yt-session-generator:webserver command: sh -c "./startup-webserver.sh 2>&1 | tee /app.log" ports: - 127.0.0.1:8080:8080 init: true restart: unless-stopped container_name: yt-session-generator healthcheck: test: ["CMD-SHELL", "grep -Fq '[server] [INFO] Starting web-server at 0.0.0.0:8080' /app.log"] interval: 2s timeout: 3s retries: 15 start_period: 10s labels: - com.centurylinklabs.watchtower.scope=cobalt ```
Author
Owner

@Gareryer commented on GitHub (Jun 4, 2025):

I've kinda fixed error with connecting to poToken extractor, but now remains the error with poToken extractor crashing if it is running not for the 1st time:

yt-session-generator  | [INFO] launching chromium instance
yt-session-generator  | 2025/06/02 12:52:11.722 [extractor] [INFO] update started
yt-session-generator  | Traceback (most recent call last):
yt-session-generator  |   File "/app/potoken-generator.py", line 4, in <module>
yt-session-generator  |     potoken_generator.main.main()
yt-session-generator  |   File "/app/potoken_generator/main.py", line 98, in main
yt-session-generator  |     loop.run_until_complete(main_task)
yt-session-generator  |   File "/usr/local/lib/python3.12/asyncio/base_events.py", line 686, in run_until_complete
yt-session-generator  |     return future.result()
yt-session-generator  |            ^^^^^^^^^^^^^^^
yt-session-generator  |   File "/app/potoken_generator/main.py", line 35, in run
yt-session-generator  |     token = await potoken_extractor.run_once()
yt-session-generator  |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
yt-session-generator  |   File "/app/potoken_generator/extractor.py", line 46, in run_once
yt-session-generator  |     await self._update()
yt-session-generator  |   File "/app/potoken_generator/extractor.py", line 91, in _update
yt-session-generator  |     await asyncio.wait_for(self._perform_update(), timeout=600)
yt-session-generator  |   File "/usr/local/lib/python3.12/asyncio/tasks.py", line 520, in wait_for
yt-session-generator  |     return await fut
yt-session-generator  |            ^^^^^^^^^
yt-session-generator  |   File "/app/potoken_generator/extractor.py", line 104, in _perform_update
yt-session-generator  |     browser = await nodriver.start(headless=False,
yt-session-generator  |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
yt-session-generator  |   File "/usr/local/lib/python3.12/site-packages/nodriver/core/util.py", line 74, in start
yt-session-generator  |     return await Browser.create(config)
yt-session-generator  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
yt-session-generator  |   File "/usr/local/lib/python3.12/site-packages/nodriver/core/browser.py", line 87, in create
yt-session-generator  |     await instance.start()
yt-session-generator  |   File "/usr/local/lib/python3.12/site-packages/nodriver/core/browser.py", line 343, in start
yt-session-generator  |     raise Exception(
yt-session-generator  | Exception: 
yt-session-generator  |                 ---------------------
yt-session-generator  |                 Failed to connect to browser
yt-session-generator  |                 ---------------------
yt-session-generator  |                 One of the causes could be when you are running as root.
yt-session-generator  |                 In that case you need to pass no_sandbox=True 
yt-session-generator  |                 
yt-session-generator  | successfully removed temp profile /tmp/tmp2w0kbl5d

Here's the updated compose file, that has a fix:

services:
    cobalt:
        image: ghcr.io/imputnet/cobalt:11
        init: true
          # read_only: true
        restart: unless-stopped
        container_name: cobalt
        ports:
            - 127.0.0.1:9000:9000
        environment:
            API_URL: "https://api.url.example/"
            YOUTUBE_SESSION_SERVER: "http://yt-session-generator:8080"
        depends_on:
          yt-session-generator:
            condition: service_healthy
        labels:
          - com.centurylinklabs.watchtower.scope=cobalt

    watchtower:
        image: ghcr.io/containrrr/watchtower
        restart: unless-stopped
        command: --cleanup --scope cobalt --interval 900 --include-restarting
        volumes:
            - /var/run/docker.sock:/var/run/docker.sock
    
    yt-session-generator:
        image: ghcr.io/imputnet/yt-session-generator:webserver
        command: sh -c "./startup-webserver.sh 2>&1 | tee /app.log"
        ports:
          - 127.0.0.1:8080:8080
        init: true
        restart: unless-stopped
        container_name: yt-session-generator
        healthcheck:
          test: ["CMD-SHELL", "grep -Fq '[server] [INFO] Starting web-server at 0.0.0.0:8080' /app.log"]
          interval: 2s
          timeout: 3s
          retries: 15
          start_period: 10s
        labels:
          - com.centurylinklabs.watchtower.scope=cobalt

I am still getting this error even after using your yt-session-generator

cobalt                | cobalt API ^ω^
cobalt                | ~~~~~~
cobalt                | version: 11.0.2
cobalt                | commit: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
cobalt                | branch: main
cobalt                | remote: imputnet/cobalt
cobalt                | start time: Wed, 04 Jun 2025 15:04:46 GMT
cobalt                | ~~~~~~
cobalt                | url: https://cobalt.website.com/
cobalt                | port: 9000
cobalt                |
cobalt                | [✓] internal tunnel handler running on 127.0.0.1:37035
cobalt                | [✓] api keys loaded successfully!
cobalt                | [✓] cookies loaded successfully!
cobalt                | [!] Failed loading poToken & visitor_data at 2025-06-04T16:04:56.503Z.
cobalt                | Error: TypeError: fetch failed
cobalt                |     at node:internal/deps/undici/undici:13510:13
cobalt                |     at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
cobalt                |     at async loadSession (file:///app/src/processing/helpers/youtube-session.js:38:24) {
cobalt                |   [cause]: ConnectTimeoutError: Connect Timeout Error
cobalt                |       at onConnectTimeout (/app/node_modules/.pnpm/undici@5.28.4/node_modules/undici/lib/core/connect.js:186:24)
cobalt                |       at /app/node_modules/.pnpm/undici@5.28.4/node_modules/undici/lib/core/connect.js:133:46
cobalt                |       at Immediate._onImmediate (/app/node_modules/.pnpm/undici@5.28.4/node_modules/undici/lib/core/connect.js:174:9)
cobalt                |       at process.processImmediate (node:internal/timers:505:21) {
cobalt                |     code: 'UND_ERR_CONNECT_TIMEOUT'
cobalt                |   }
cobalt                | }
yt-session-generator  | 2025/06/04 16:04:59.082 [extractor] [INFO] new token: {"updated": 1749053099, "potoken": "MnSdMNkFKeufmZ0IFJvFet4vbUuWfX6RHNfK5_t6BJ8Cb6bryvcazjeNbw1d3hOsR2qQz1-FT3qXTyUGmhGw4AdOOY0P9vzmRC-fHJrBgtneFIEsxVNAV3-eGjnJdig6Lgww_hI5-r_7CWsIHZO-AockBo8Pjw==", "visitor_data": "CgtLaG1EUWl2M05zVSin3YHCBjIKCgJHQhIEGgAgGg%3D%3D"}
yt-session-generator  | 2025/06/04 16:04:59.112 [extractor] [INFO] update was succeessful
yt-session-generator  | 2025/06/04 16:09:59.234 [extractor] [INFO] update started
yt-session-generator  | 2025/06/04 16:10:10.081 [extractor] [INFO] new token: {"updated": 1749053410, "potoken": "MnQa-Ydh29f-WRrBo3vIvupHPHAGLvXfTYScB8mmJEWDoCMkiQRu3teFiIcr9b1ZW-7_2EFsIPKPVXSyw0_
<!-- gh-comment-id:2940685425 --> @Gareryer commented on GitHub (Jun 4, 2025): > I've kinda fixed error with connecting to poToken extractor, but now remains the error with poToken extractor crashing if it is running not for the 1st time: > > ``` > yt-session-generator | [INFO] launching chromium instance > yt-session-generator | 2025/06/02 12:52:11.722 [extractor] [INFO] update started > yt-session-generator | Traceback (most recent call last): > yt-session-generator | File "/app/potoken-generator.py", line 4, in <module> > yt-session-generator | potoken_generator.main.main() > yt-session-generator | File "/app/potoken_generator/main.py", line 98, in main > yt-session-generator | loop.run_until_complete(main_task) > yt-session-generator | File "/usr/local/lib/python3.12/asyncio/base_events.py", line 686, in run_until_complete > yt-session-generator | return future.result() > yt-session-generator | ^^^^^^^^^^^^^^^ > yt-session-generator | File "/app/potoken_generator/main.py", line 35, in run > yt-session-generator | token = await potoken_extractor.run_once() > yt-session-generator | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > yt-session-generator | File "/app/potoken_generator/extractor.py", line 46, in run_once > yt-session-generator | await self._update() > yt-session-generator | File "/app/potoken_generator/extractor.py", line 91, in _update > yt-session-generator | await asyncio.wait_for(self._perform_update(), timeout=600) > yt-session-generator | File "/usr/local/lib/python3.12/asyncio/tasks.py", line 520, in wait_for > yt-session-generator | return await fut > yt-session-generator | ^^^^^^^^^ > yt-session-generator | File "/app/potoken_generator/extractor.py", line 104, in _perform_update > yt-session-generator | browser = await nodriver.start(headless=False, > yt-session-generator | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > yt-session-generator | File "/usr/local/lib/python3.12/site-packages/nodriver/core/util.py", line 74, in start > yt-session-generator | return await Browser.create(config) > yt-session-generator | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > yt-session-generator | File "/usr/local/lib/python3.12/site-packages/nodriver/core/browser.py", line 87, in create > yt-session-generator | await instance.start() > yt-session-generator | File "/usr/local/lib/python3.12/site-packages/nodriver/core/browser.py", line 343, in start > yt-session-generator | raise Exception( > yt-session-generator | Exception: > yt-session-generator | --------------------- > yt-session-generator | Failed to connect to browser > yt-session-generator | --------------------- > yt-session-generator | One of the causes could be when you are running as root. > yt-session-generator | In that case you need to pass no_sandbox=True > yt-session-generator | > yt-session-generator | successfully removed temp profile /tmp/tmp2w0kbl5d > ``` > > Here's the updated compose file, that has a fix: > > ``` > services: > cobalt: > image: ghcr.io/imputnet/cobalt:11 > init: true > # read_only: true > restart: unless-stopped > container_name: cobalt > ports: > - 127.0.0.1:9000:9000 > environment: > API_URL: "https://api.url.example/" > YOUTUBE_SESSION_SERVER: "http://yt-session-generator:8080" > depends_on: > yt-session-generator: > condition: service_healthy > labels: > - com.centurylinklabs.watchtower.scope=cobalt > > watchtower: > image: ghcr.io/containrrr/watchtower > restart: unless-stopped > command: --cleanup --scope cobalt --interval 900 --include-restarting > volumes: > - /var/run/docker.sock:/var/run/docker.sock > > yt-session-generator: > image: ghcr.io/imputnet/yt-session-generator:webserver > command: sh -c "./startup-webserver.sh 2>&1 | tee /app.log" > ports: > - 127.0.0.1:8080:8080 > init: true > restart: unless-stopped > container_name: yt-session-generator > healthcheck: > test: ["CMD-SHELL", "grep -Fq '[server] [INFO] Starting web-server at 0.0.0.0:8080' /app.log"] > interval: 2s > timeout: 3s > retries: 15 > start_period: 10s > labels: > - com.centurylinklabs.watchtower.scope=cobalt > ``` I am still getting this error even after using your yt-session-generator ``` cobalt | cobalt API ^ω^ cobalt | ~~~~~~ cobalt | version: 11.0.2 cobalt | commit: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx cobalt | branch: main cobalt | remote: imputnet/cobalt cobalt | start time: Wed, 04 Jun 2025 15:04:46 GMT cobalt | ~~~~~~ cobalt | url: https://cobalt.website.com/ cobalt | port: 9000 cobalt | cobalt | [✓] internal tunnel handler running on 127.0.0.1:37035 cobalt | [✓] api keys loaded successfully! cobalt | [✓] cookies loaded successfully! cobalt | [!] Failed loading poToken & visitor_data at 2025-06-04T16:04:56.503Z. cobalt | Error: TypeError: fetch failed cobalt | at node:internal/deps/undici/undici:13510:13 cobalt | at process.processTicksAndRejections (node:internal/process/task_queues:105:5) cobalt | at async loadSession (file:///app/src/processing/helpers/youtube-session.js:38:24) { cobalt | [cause]: ConnectTimeoutError: Connect Timeout Error cobalt | at onConnectTimeout (/app/node_modules/.pnpm/undici@5.28.4/node_modules/undici/lib/core/connect.js:186:24) cobalt | at /app/node_modules/.pnpm/undici@5.28.4/node_modules/undici/lib/core/connect.js:133:46 cobalt | at Immediate._onImmediate (/app/node_modules/.pnpm/undici@5.28.4/node_modules/undici/lib/core/connect.js:174:9) cobalt | at process.processImmediate (node:internal/timers:505:21) { cobalt | code: 'UND_ERR_CONNECT_TIMEOUT' cobalt | } cobalt | } yt-session-generator | 2025/06/04 16:04:59.082 [extractor] [INFO] new token: {"updated": 1749053099, "potoken": "MnSdMNkFKeufmZ0IFJvFet4vbUuWfX6RHNfK5_t6BJ8Cb6bryvcazjeNbw1d3hOsR2qQz1-FT3qXTyUGmhGw4AdOOY0P9vzmRC-fHJrBgtneFIEsxVNAV3-eGjnJdig6Lgww_hI5-r_7CWsIHZO-AockBo8Pjw==", "visitor_data": "CgtLaG1EUWl2M05zVSin3YHCBjIKCgJHQhIEGgAgGg%3D%3D"} yt-session-generator | 2025/06/04 16:04:59.112 [extractor] [INFO] update was succeessful yt-session-generator | 2025/06/04 16:09:59.234 [extractor] [INFO] update started yt-session-generator | 2025/06/04 16:10:10.081 [extractor] [INFO] new token: {"updated": 1749053410, "potoken": "MnQa-Ydh29f-WRrBo3vIvupHPHAGLvXfTYScB8mmJEWDoCMkiQRu3teFiIcr9b1ZW-7_2EFsIPKPVXSyw0_ ```
Author
Owner

@linuxfight commented on GitHub (Jun 5, 2025):

i've kinda fixed yt session generator for me, but fix is just a rewrite of session generator to a different chrome driver.

@Gareryer, sorry I can't help with your issue, on my side everything works fine. can you provide more information?

<!-- gh-comment-id:2945597622 --> @linuxfight commented on GitHub (Jun 5, 2025): i've kinda fixed yt session generator for me, but fix is just a rewrite of session generator to a different chrome driver. @Gareryer, sorry I can't help with your issue, on my side everything works fine. can you provide more information?
Author
Owner

@linuxfight commented on GitHub (Jun 5, 2025):

here's my compose, that uses custom session generator:

services:
    cobalt:
        image: ghcr.io/imputnet/cobalt:11
        init: true
          # read_only: true
        restart: unless-stopped
        container_name: cobalt
        ports:
            - 127.0.0.1:9000:9000
        environment:
            API_URL: "https://api.url.example/"
            YOUTUBE_SESSION_SERVER: "http://yt-session-generator:8080"
        depends_on:
          yt-session-generator:
            condition: service_healthy
        labels:
          - com.centurylinklabs.watchtower.scope=cobalt

    watchtower:
        image: ghcr.io/containrrr/watchtower
        restart: unless-stopped
        command: --cleanup --scope cobalt --interval 900 --include-restarting
        volumes:
            - /var/run/docker.sock:/var/run/docker.sock
    
    yt-session-generator:
        image: linuxfight/yt-session-generator:main
        ports:
          - 127.0.0.1:8080:8080
        volumes:
          - swayvnc-wayvnc-certs:/certs
        environment:
          - SWAY_UNSUPPORTED_GPU=true
          - SWAY_RESOLUTION=1280x720
          - WAYVNC_PORT=5910
          - WAYVNC_ENABLE_AUTH=true
          - WAYVNC_USERNAME=wayvnc
          - WAYVNC_PASSWORD=wayvnc
          - VIRTUAL_GPU=true
        devices:
          - /dev/dri
        security_opt:
          - seccomp:unconfined
        init: true
        restart: unless-stopped
        container_name: yt-session-generator
        healthcheck:
          test: ["CMD", "curl", "--fail", "http://localhost:8080/token"]
          interval: 2s
          timeout: 3s
          retries: 15
          start_period: 10s
        labels:
          - com.centurylinklabs.watchtower.scope=cobalt

volumes:
  swayvnc-wayvnc-certs:

https://github.com/linuxfight/yt-session-generator

can you try it and respond if it works for you?
@acrossoffwest @Gareryer

<!-- gh-comment-id:2945605139 --> @linuxfight commented on GitHub (Jun 5, 2025): here's my compose, that uses custom session generator: ```yaml services: cobalt: image: ghcr.io/imputnet/cobalt:11 init: true # read_only: true restart: unless-stopped container_name: cobalt ports: - 127.0.0.1:9000:9000 environment: API_URL: "https://api.url.example/" YOUTUBE_SESSION_SERVER: "http://yt-session-generator:8080" depends_on: yt-session-generator: condition: service_healthy labels: - com.centurylinklabs.watchtower.scope=cobalt watchtower: image: ghcr.io/containrrr/watchtower restart: unless-stopped command: --cleanup --scope cobalt --interval 900 --include-restarting volumes: - /var/run/docker.sock:/var/run/docker.sock yt-session-generator: image: linuxfight/yt-session-generator:main ports: - 127.0.0.1:8080:8080 volumes: - swayvnc-wayvnc-certs:/certs environment: - SWAY_UNSUPPORTED_GPU=true - SWAY_RESOLUTION=1280x720 - WAYVNC_PORT=5910 - WAYVNC_ENABLE_AUTH=true - WAYVNC_USERNAME=wayvnc - WAYVNC_PASSWORD=wayvnc - VIRTUAL_GPU=true devices: - /dev/dri security_opt: - seccomp:unconfined init: true restart: unless-stopped container_name: yt-session-generator healthcheck: test: ["CMD", "curl", "--fail", "http://localhost:8080/token"] interval: 2s timeout: 3s retries: 15 start_period: 10s labels: - com.centurylinklabs.watchtower.scope=cobalt volumes: swayvnc-wayvnc-certs: ``` https://github.com/linuxfight/yt-session-generator can you try it and respond if it works for you? @acrossoffwest @Gareryer
Author
Owner

@BurAndBY commented on GitHub (Oct 9, 2025):

here's my compose, that uses custom session generator:

services:
cobalt:
image: ghcr.io/imputnet/cobalt:11
init: true
# read_only: true
restart: unless-stopped
container_name: cobalt
ports:
- 127.0.0.1:9000:9000
environment:
API_URL: "https://api.url.example/"
YOUTUBE_SESSION_SERVER: "http://yt-session-generator:8080"
depends_on:
yt-session-generator:
condition: service_healthy
labels:
- com.centurylinklabs.watchtower.scope=cobalt

watchtower:
    image: ghcr.io/containrrr/watchtower
    restart: unless-stopped
    command: --cleanup --scope cobalt --interval 900 --include-restarting
    volumes:
        - /var/run/docker.sock:/var/run/docker.sock

yt-session-generator:
    image: linuxfight/yt-session-generator:main
    ports:
      - 127.0.0.1:8080:8080
    volumes:
      - swayvnc-wayvnc-certs:/certs
    environment:
      - SWAY_UNSUPPORTED_GPU=true
      - SWAY_RESOLUTION=1280x720
      - WAYVNC_PORT=5910
      - WAYVNC_ENABLE_AUTH=true
      - WAYVNC_USERNAME=wayvnc
      - WAYVNC_PASSWORD=wayvnc
      - VIRTUAL_GPU=true
    devices:
      - /dev/dri
    security_opt:
      - seccomp:unconfined
    init: true
    restart: unless-stopped
    container_name: yt-session-generator
    healthcheck:
      test: ["CMD", "curl", "--fail", "http://localhost:8080/token"]
      interval: 2s
      timeout: 3s
      retries: 15
      start_period: 10s
    labels:
      - com.centurylinklabs.watchtower.scope=cobalt

volumes:
swayvnc-wayvnc-certs:
https://github.com/linuxfight/yt-session-generator

can you try it and respond if it works for you? @acrossoffwest @Gareryer

Hi, I've recently ran into the same issue with your fork

<!-- gh-comment-id:3387061889 --> @BurAndBY commented on GitHub (Oct 9, 2025): > here's my compose, that uses custom session generator: > > services: > cobalt: > image: ghcr.io/imputnet/cobalt:11 > init: true > # read_only: true > restart: unless-stopped > container_name: cobalt > ports: > - 127.0.0.1:9000:9000 > environment: > API_URL: "https://api.url.example/" > YOUTUBE_SESSION_SERVER: "http://yt-session-generator:8080" > depends_on: > yt-session-generator: > condition: service_healthy > labels: > - com.centurylinklabs.watchtower.scope=cobalt > > watchtower: > image: ghcr.io/containrrr/watchtower > restart: unless-stopped > command: --cleanup --scope cobalt --interval 900 --include-restarting > volumes: > - /var/run/docker.sock:/var/run/docker.sock > > yt-session-generator: > image: linuxfight/yt-session-generator:main > ports: > - 127.0.0.1:8080:8080 > volumes: > - swayvnc-wayvnc-certs:/certs > environment: > - SWAY_UNSUPPORTED_GPU=true > - SWAY_RESOLUTION=1280x720 > - WAYVNC_PORT=5910 > - WAYVNC_ENABLE_AUTH=true > - WAYVNC_USERNAME=wayvnc > - WAYVNC_PASSWORD=wayvnc > - VIRTUAL_GPU=true > devices: > - /dev/dri > security_opt: > - seccomp:unconfined > init: true > restart: unless-stopped > container_name: yt-session-generator > healthcheck: > test: ["CMD", "curl", "--fail", "http://localhost:8080/token"] > interval: 2s > timeout: 3s > retries: 15 > start_period: 10s > labels: > - com.centurylinklabs.watchtower.scope=cobalt > > volumes: > swayvnc-wayvnc-certs: > https://github.com/linuxfight/yt-session-generator > > can you try it and respond if it works for you? [@acrossoffwest](https://github.com/acrossoffwest) [@Gareryer](https://github.com/Gareryer) Hi, I've recently ran into the same issue with your fork
Sign in to join this conversation.