Thank you so much for this suggestion. I managed to solve this because of you!!!
I enabled DEBUG log mode and noticed these logs related to Vikunja:
time="2023-03-26T14:41:04Z" level=debug msg="Filtering disabled container" providerName=docker container=vikunja-vikunja-api-ljh1277p3fj62clr0bcg4vvtm
time="2023-03-26T14:41:04Z" level=debug msg="Filtering disabled container" container=vikunja-vikunja-frontend-91zep3ia1b7uvxcvlpz7hiiej providerName=docker
time="2023-03-26T14:41:04Z" level=debug msg="Filtering disabled container" providerName=docker container=vikunja-db-vyjh63y6anyyru88tkxyktr4c
I then googled them and found this post → Traefik is filtering traefik docker container - #4 by cakiwi - Traefik v2 (latest) - Traefik Labs Community Forum
It seems that when deploying to Docker Swarm we need to nest labels under deploy:
I also deleted label for entrypoint and certificate, because it was in some way a duplicate of this label
- "traefik.docker.network={{traefik_network_name}}"
^ And I don’t know If its right or not, I’ll find out later xD
So my final labeling look like this:
deploy:
labels:
- "traefik.enable=true"
- "traefik.http.routers.vikunja-api.rule=Host(`vikunja.docker.local`) && (PathPrefix(`/api/v1`) || PathPrefix(`/dav/`) || PathPrefix(`/.well-known/`))"
- "traefik.http.services.vikunja-api.loadbalancer.server.port=3456"
- "traefik.docker.network=web"
- "io.portainer.accesscontrol.users=admin"
[...]
deploy:
labels:
- "traefik.enable=true"
- "traefik.http.routers.vikunja-frontend.rule=Host(`vikunja.docker.local`)"
- "traefik.http.services.vikunja-frontend.loadbalancer.server.port=80"
- "traefik.docker.network=web"
- "io.portainer.accesscontrol.users=admin"