March 29, 20251 yr Hi. I'm trying to run tubearchivist through gluetun because i don't want to get my ip flagged by youtube. I got everything up and running but couldn't access tubearchivist webui. Looking at the log it appears that both TA and gluetun are using the same internal port 8000 and i cannot remap it. If anyone has any idea how i could fix this it would be greatly appreciated. Thanks
March 29, 20251 yr Community Expert 6 hours ago, rokstepic said: Hi. I'm trying to run tubearchivist through gluetun because i don't want to get my ip flagged by youtube. I got everything up and running but couldn't access tubearchivist webui. Looking at the log it appears that both TA and gluetun are using the same internal port 8000 and i cannot remap it. If anyone has any idea how i could fix this it would be greatly appreciated. Thanks macvaln set the network to their own custom ip. This way both ip can use port 8000 as your changing the host map access to the web pages... you could edit gluten and change the port configuration... Depending on how you setup the docker networks... Not enouth info... Edited March 29, 20251 yr by bmartino1 Data - Typo
March 29, 20251 yr Community Expert hmmm..... if this is the only thing running gluten vpn docker, you may be better off using compose where we can set ip in the docker network. tubearchivist through gluetun Requirements: Be routed through Gluetun for external traffic. Still have a LAN-accessible WebUI using your br0 macvlan. This requires a dual-network setup: br0 for LAN WebUI access (assigns TubeArchivist a static IP). container:gluetun to route outbound traffic via the VPN. I assume you are using unraids default network as you don't have any other info ipvlan should be fine as you're trying to tie 2 networks to the docker container... Example compose file: #version: "3.9" services: gluetun: image: qmcgaw/gluetun container_name: gluetun cap_add: - NET_ADMIN networks: - gluetun_net ports: - 8080:8000 # Gluetun web UI or exposed port so connect to gluten at port 8080 volumes: - ./gluetun:/gluetun environment: - VPN_SERVICE_PROVIDER=custom - OPENVPN_USER=your_user - OPENVPN_PASSWORD=your_pass # Add other required VPN config envs here tubearchivist: image: bbilly1/tubearchivist container_name: tubearchivist depends_on: - gluetun network_mode: "service:gluetun" # Route traffic through Gluetun volumes: - ./tubearchivist:/config environment: - ELASTICSEARCH_HOST=http://<LAN-IP>:9200 - REDIS_HOST=http://<LAN-IP>:6379 labels: - "traefik.enable=false" tubearchivist_lan: image: bbilly1/tubearchivist container_name: tubearchivist_lan network_mode: "br0" mac_address: xx:xx:xx:xx:xx:xx # Optional: Set static MAC if needed environment: - ELASTICSEARCH_HOST=http://<LAN-IP>:9200 - REDIS_HOST=http://<LAN-IP>:6379 volumes: - ./tubearchivist:/config ports: - "8000:8000" # LAN web UI port using port 8000 depends_on: - tubearchivist deploy: restart_policy: condition: any networks: gluetun_net: driver: bridge Compose notes: Explanation: tubearchivist: Runs through Gluetun via network_mode: "service:gluetun". tubearchivist_lan: Second instance, same data/config volume, uses br0 for LAN access. This avoids exposing the VPN-connected container while still giving you a local web interface. Tips: Use the same volume for both tubearchivist and tubearchivist_lan to prevent data/config mismatch. Make sure br0 is created in Unraid Docker settings. Only tubearchivist_lan should be accessible via LAN. Otherwise, it would be easier to change the gluten web ui port... as example using the compose above, we are mapping gluten web port 8080 to port 8000 to access gluten web ui... would need more info to assist otherwise... Edited March 29, 20251 yr by bmartino1 Data - Typo
March 30, 20251 yr Author Hey thanks for responding. I'll attacha images to the problem i'm having. I have remapped the ports that are conflicting but routing the traffic of one container through another container seems to ignore the remap. I'm kinda new to all this but to me it seems i would have to change the port that nginx is using inside the container.
March 30, 20251 yr Community Expert Correct that because the entire network doesn't go though the docker network and nat based port mapping when using "container:gluetun" to route outbound traffic via the VPN... You will need to console into the image for tubearchivist. cat the nginx config file and use a docker variable to 1 for 1 replace that nginx config with your own to change the port. So lets review docker networks first... (as this is achievable just not though easy means...) https://docs.docker.com/engine/network/ and how the driver types dictate the docker networks... Quote to map another docker container into another container via: example: --network=container:CONTAINERID IMAGE Unraid v7 per the docker template support theses docker network types: lets break it down: 1. Bridge Default Docker network mode. Ports are explicitly mapped (HostPort:ContainerPort) in the template. Example: If the app listens on port 8000 in the container, you can map it to 8050 on the host. Min docker compose yaml example... HTTP_CONTROL_SERVER_PORT: 8050 (host) Container port: 8000 as the unraid template constructs a docker run file... Which results in something like: -p 8050:8000 where we tell nat that going to port 8050 need to point to port 8000. This doesn't stop the serve using port 8000 from still broadcasting and using the port... NAT rule apply here to dockers default network type as you traverse to the unriad host ip to port to connect to this service... 2. Host -The container shares the host’s network stack. -No port mapping is needed or allowed. All ports used by the container must be free on the host. Example docker run call: docker run --network=host ... Whatever port the app listens on in the container (say 8000), that port must be free on the host. Use this only when an app needs to auto-discover services or work with broadcast/multicast. Normally used for databases... They will replace unraids host level ports so if you run a web server on port 80 or 443 it will block and prevent the unraid web ui from working... 3. Container (aka --network=container:<container_id_or_name>) -Shares network with another running container. -Use case: VPN containers (like Gluetun). -The secondary container inherits the network namespace of the VPN container. so setting: --network=container:gluetun Then TubeArchivist won’t have its own ports, it’s using Gluetun’s network stack. This means: No port mappings in the template will be used. Only ports exposed by Gluetun can be used to reach the app. You cannot bind the same port twice across containers using the same network. This is why the remapping failed! -So even though the template says: Container Port: 8000 Host Port: 8050 --That only works in Bridge mode. In --network=container:gluetun, the app must be accessed via the VPN container's IP/interface and exposed ports. 4. None The container has no network access at all. Generally used for isolated or CLI-only tools. *Similar to host... Rarely used dockers applications like Vim for example a application not found natively on unraid you can install vim with network none and use the consol of the docker to vim access files to path you add to the docker... 5.Custom: br0 / Veth In my case per the picture it is using my Proxmox Veth... This is the ipvlan/macvlan depending on your docker settings.... in my case macvlan *This allows the docker to talk to the same dhcp server and get a lan assigned IP.... this removes the nat port mapping so 8000 would be set to the custom ip you chose... -I would recommend you use macvlan as well with vpn dockers, so each docker that get a custum ip also gets a randm mac address. ipvlan will share its mac address.. -This gives the container its own IP on the LAN (like a VM). -It appears as a separate device on your network. -Useful for apps that require unique LAN identity (e.g., mDNS, DLNA). *It is recommended when running web servers with a web page to use a macvlan/ipvlan in this case using unraids premade docker netwrok for custom (br0, bond0, eth0) depending on your settings and unraid network configurations.... This said. We can create additional custom docker networks ... Though they can't be on the same subnet do to internal ip router and host networking configurations... In example I have 2 nic interfaces. br0 or eth0 the one giving unraid internet will be the custom ipvaln by default. I can make a docker network that uses the other interface.... and without geting into crazy "forbiden routers" that are vm router sytems and advances unraid netwroking. and moving where gluten cononects to and from... it be easeier and faster to grab the necessary data path and make a config change to move the port... Comes down to how you want to interact with it...
March 30, 20251 yr Community Expert since your usig this may be better asked and linked on the forum support page: so the question is how do you change the nginx container port configuration in the docker image... to do this we first need a copy of the nginx configuration file... also review the install notes... https://docs.tubearchivist.com/installation/unraid/ https://docs.tubearchivist.com/installation/env-vars/ Quote TA_PORT# Optional Type: Number This changes the actual port Nginx is listening on. That is the public port exposed through the docker container. If you have a port collision on default port 8000, see bellow. so you will need to add a docker variable TA_PORT and set that to 8080 per teh docs, this will change the port nginx is using... if not we will need to make a docker 1 for 1 file replacing eh nginx config... Edited March 30, 20251 yr by bmartino1 Data
April 6, 20251 yr Author Hey thank you so much for helping, I got it working with another vpn container. Thanks again for your time.
January 18Jan 18 Which VPN did you use? I am having the same issue. Tried adding the variable NO_PROXY to the TA container after directing it through the GluetunVPN containere but no matter what I tried to capture the local network addresses, the container would not communicate with the ES and Redis containers.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.