wizarrrr / wizarr

Wizarr is an advanced user invitation and management system for Jellyfin, Plex, Emby etc.
https://docs.wizarr.dev
MIT License
1.26k stars 87 forks source link

Latest version doesn't work with Traefik #301

Closed daurpam closed 10 months ago

daurpam commented 10 months ago

I was using traefik as reverse proxy, and it was working until version 3.4.8. I've test inside wizarr docker container a curl http://localhost:5690 succesfully. But outside the container through the proxy it doesn't respond.

I've check the tags and commands inside the different versions and seems that some commands are different including the command related with the port exposition: EXPOSE map[5690/tcp:{}] <-- appears in tag: latest-3.4.2 but not in 3.4.8 or latest

Perhaps could be the reason of the issue?

Thanks for your work.

realashleybailey commented 10 months ago

Could you share relevant configs, like Docker Compose, Traefik config, and what Docker networks there both on

daurpam commented 10 months ago

These are my docker-compose files for:

services: proxy: image: traefik:latest container_name: proxy labels:

networks: proxy: external: true


* Wizarr

version: "3.8" services: wizarr: container_name: wizarr image: ghcr.io/wizarrrr/wizarr:latest-3.4.2 restart: unless-stopped networks:

networks: proxy: external: true


This version of docker-compose.yml works, if change to newest images, I got errors on traefik logs, like:
- ``` TRAEFIK: LEVEL=ERROR MSG=“FIELD NOT FOUND, NODE: PORT MISSING ``` 
if I don't setup the "..loadbalancer.server.port=5690" value inside the traefik labels or
- ``` TRAEFIK: LEVEL=ERROR MSG=“FIELD NOT FOUND, NODE: SERVER ``` 
if the previous label is setup inside docker-compose.yml 

Hope it helps. Thanks
realashleybailey commented 10 months ago
version: "3.8"
services:
  wizarr:
    container_name: wizarr
    image: ghcr.io/wizarrrr/wizarr:latest-3.4.2
    restart: unless-stopped
    networks:
      - proxy
      - (your_default_docker_network)
    volumes:
      - ./config:/data/database
    labels:
      - traefik.enable=true
      - traefik.http.routers.cronoswiz.entrypoints=web
      - traefik.http.routers.cronoswiz.rule=Host(`mydomain.com`)
      - traefik.http.routers.cronoswiz.middlewares=redirect-https@file
      - traefik.http.routers.cronoswizs.entrypoints=secure
      - traefik.http.routers.cronoswizs.rule=Host(`mydomain.com`)
      - traefik.http.routers.cronoswizs.tls.certresolver=le
      - com.centurylinklabs.watchtower.enable=true

networks:
  proxy:
    external: true
daurpam commented 10 months ago

Don't understand your comment. The default docker network is "proxy" and it was working til update to the latest image of wizarr for months.

realashleybailey commented 10 months ago

Don't understand your comment. The default docker network is "proxy" and it was working til update to the latest image of wizarr for months.

It's always best to be a member of both the proxy network and the default docker network so that you can effectively speak with other containers using local DNS (this isnt directly todo with your issue, only that it could prevent issues later if you try speaking to a JF or Plex container locally but not part of the same network) you can disregard that change but note it for future if you face issues, I have also removed the pointless env variables that V3 does not need anymore, these can cause potential problems when left there. The EXPOSE map[5690/tcp:{}] wouldn't have thought that would be the issue, we are talking about internal Docker networks, they act much the same to our external ones, however you are welcome to clone the repo and add EXPOSE 5690 to 86th line of this file ./dockerfiles/wizarr/Dockerfile and run docker build -f ./dockerfiles/wizarr/Dockerfile .

daurpam commented 10 months ago

I understand how networks works in docker, all my containers are in the same network (proxy) to avoid those problem you comment. But that setup didn't work with traefik, if the solution is to make a fork of the repo, then the wizarr images will not work with kubernetes or other ingress proxies? There been a lot of images that works with reverse proxy without make a clone of a repository. But I understand your approach. Thank you. Regards.

realashleybailey commented 10 months ago

I understand how networks works in docker, all my containers are in the same network (proxy) to avoid those problem you comment. But that setup didn't work with traefik, if the solution is to make a fork of the repo, then the wizarr images will not work with kubernetes or other ingress proxies? There been a lot of images that works with reverse proxy without make a clone of a repository. But I understand your approach. Thank you. Regards.

I have added the EXPOSE back to the Docker Image, however it wont be in prod for a couple days, thats why I suggested building the Docker image, it would be a good indication if this is the issue or if its something else, in which case we can get it sorted for before the next release.

I have both a NginxProxyManager installation working with Wizarr, and I know a some of the devs have a Traefik installation working, if you want to speak with some of them about Traefik and there setup then feel free to open a discussion on our Discord.