tubesync icon indicating copy to clipboard operation
tubesync copied to clipboard

POT Provider with Docker Compose

Open grayson-inspry opened this issue 6 months ago • 1 comments

Hey there, I'm interested in setting up a POT provider using Docker Compose. My compose.yml is below. However, according to the Tubesync container logs, it's still trying to reach 127.0.0.1 instead of my specified pot_provider hostname. I can verify they are able to connect by running docker compose exec tubesync curl http://pot-provider:4416/ping. Is there something I'm doing wrong? I've pulled the latest image and checked over things but no luck. Thanks in advance.

services:
  tubesync:
    image: ghcr.io/meeb/tubesync:latest
    container_name: tubesync
    restart: unless-stopped
    networks:
      - jellyfin
    ports:
      - 4848:4848
    volumes:
      - ./config:/config
      - jellyfin_media:/downloads
    environment:
      - TZ=America/New_York
      - PUID=1000
      - PGID=1000
      - TUBESYNC_WORKERS=2
      - TUBESYNC_POT_IPADDR=pot-provider
      - TUBESYNC_POT_PORT=4416
  pot-provider:
    image: brainicism/bgutil-ytdlp-pot-provider:1.1.0
    container_name: pot-provider
    restart: unless-stopped
    networks:
      - jellyfin
    ports:
      - 4416:4416

networks:
  jellyfin:
    external: true

volumes:
  jellyfin_media:
    external: true

grayson-inspry avatar Jun 21 '25 00:06 grayson-inspry

To clear up any confusion, the plugin connects to 127.0.0.1 unless you change the base URL. nginx/openresty is configured to proxy from the local port to a configured IP:PORT via the environment variables.

TUBESYNC_POT_IPADDR=pot-provider

The naming wasn't arbitrary. This is actually expected to be an IP address.

I'd suggest that you assign a static IP for your POTServer container.

If you want to use a host name, then you must change the base URL in your local_settings.py file.

More information can be found in the document linked from:

  • https://github.com/meeb/tubesync#advanced-usage-guides
  • https://github.com/meeb/tubesync/blob/main/docs/youtube-pot.md#plugin-web-server-url

tcely avatar Jun 21 '25 00:06 tcely

Thanks @tcely, your answers are always thorough and helpful. I've got it working now. For posterity here's the new Docker Compose below. It's using a new network I created with a subnet of 172.16.238.0/24.

services:
  tubesync:
    image: ghcr.io/meeb/tubesync:latest
    container_name: tubesync
    restart: unless-stopped
    networks:
      - media
    ports:
      - 4848:4848
    volumes:
      - ./config:/config
      - jellyfin_media:/downloads
    environment:
      - TZ=America/New_York
      - PUID=1000
      - PGID=1000
      - TUBESYNC_WORKERS=2
      - TUBESYNC_POT_IPADDR=172.16.238.80
      - TUBESYNC_POT_PORT=4416
  pot-provider:
    image: brainicism/bgutil-ytdlp-pot-provider:1.1.0
    container_name: pot-provider
    restart: unless-stopped
    networks:
      media:
        ipv4_address: 172.16.238.80
    ports:
      - 4416:4416

networks:
  media:
    external: true

I'll go ahead and close out the issue, thanks again.

grayson-inspry avatar Jun 21 '25 10:06 grayson-inspry

Thanks @tcely, your answers are always thorough and helpful. I've got it working now.

That's great! It's nice to read that my answers are appreciated and helpful.

TUBESYNC_WORKERS

Just a heads up; this setting is likely to go away in the future, and you should probably just remove it now.

  • #1145

The new tasks system has each queue configured individually based on its purpose. Even the old system was transitioned to a queue per resource strategy a while ago.

  • #924
  • https://github.com/meeb/tubesync/issues/927#issuecomment-2786956413

tcely avatar Jun 21 '25 10:06 tcely