POT Provider with Docker Compose
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
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
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.
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