Integrations not working with docker setup
I have homarr and jellyfin both running in docker containers on my debian machine. I am on v1.5.0.
While trying to add the integration, I cannot get it to pass testing.
Based on what I observed from shells within the homarr docker container, it can
ping
the jellyfin container but cannot wget
the page on port 8098. What am I doing wrong?7 Replies
Thank you for submitting a support request.
Depending on the volume of requests, our team should get in contact with you shortly.
⚠️ Please include the following details in your post or we may reject your request without further comment: - Log (See https://homarr.dev/docs/community/faq#how-do-i-open-the-console--log) - Operating system (Unraid, TrueNAS, Ubuntu, ...) - Exact Homarr version (eg. 0.15.0, not latest) - Configuration (eg. docker-compose, screenshot or similar. Use ``your-text`` to format) - Other relevant information (eg. your devices, your browser, ...)
Frequently Asked Questions | Homarr documentation
Can I install Homarr on a Raspberry Pi?
from the logs:
Have you read and checked https://homarr.dev/docs/management/integrations/#troubleshooting-connection ?
Integrations | Homarr documentation
Integrations are connections to supported third party applications.
Yes I did check those, I could not get through check number 4.
3. Check whether the host can reach the destination hostname / IP using ping and curl or wget afterward. Execute this command on the host machine, not inside containers, to check whether it can connect or not.
>>>> This one works
4. Check whether the container / pod can reach the destination hostname / IP. Execute the same commands in the shell inside the container / pod.
>>>>> This one doesn't (assuming container here means the homare container)
This is what I was referring to in the
OP:
the homarr docker container, it can ping the jellyfin container but cannot wget the page on port 8098.
I'm not good enough with docker to understand what I can do to fix this issue and I appreciate your help
1. the custom network
homarr_integrations
can't access the integration outside. This is not a Homarr issue and you must fix your network setup. Also make sure that the Homarr container can resolve the hostname and contact the DNS server, if you use your own DNS.
2. Your mounts are incorrect for version 1.0 and will lead to issues. Please make sure to use the correct mounts that are documented at homarr.dev
Oh, and if the application you want to reach is running on the same host, you can't use localhost, since Docker uses a NAT by default and localhost will not resolve to what you want to connect to. Either use the extra host "gateway" trick or use an IP or hostname that can be resolved (e.g. 192.168.1.100:8089)Docker Community Forums
How to reach localhost on host from docker container?
Good morning, sorry for confusing you. I meant it this way: remove the lines extra_hosts: - "host.docker.internal:host-gateway" from your docker-compose.yml replace the lines external_links: - mongo by links: - mongo within your docker-compose.yml’s app-section because you want to connect to a container defined within the same d...
Thanks for your help!
The docker network I added was an attempt to resolve this issue by putting homare and jellyfin on a common network, but since that didn't work, I will remove it.
I fixed my mount points shortly after posting and didn't update the post.
I will try this extra host trick and report back. Thanks!
I was able to figure out what was causing the issue. I run very restrictive
iptables
rules that disallow a lot of traffic outside of a small subset of valid IPs and ports. The solution here was something I was on the right track with using a custom docker network. I created and used the homarr_integrations
network in my dockerfile in both homarr and jellyfin, and then I was able to access jellyfin on the internal jellyfin docker port. This allowed me to keep my restrictive IP table rules and have docker work around them instead.
Thanks for your help!