traefikharbor

Traefik and Harbor


I have changed the docker-compose.yml after the default Conf-Generation. My Proxy configuration looks like: ( I had only touched the proxy part )

proxy:
    image: goharbor/nginx-photon:v1.9.4
    container_name: nginx
    restart: always
    cap_drop:
      - ALL
    cap_add:
      - CHOWN
      - SETGID
      - SETUID
      - NET_BIND_SERVICE
    volumes:
      - ./common/config/nginx:/etc/nginx:z
    networks:
      - harbor
      - web
    dns_search: .
    expose:
      - 8080
    ports:
      - 8081:8080 #only to test if its online
    labels:
      - "traefik.enable=true"
      - "traefik.backend=harbor-backend"
      - "traefik.docker.network=web"
      - "traefik.frontend.rule=Host:harbor.example.com"
      - "traefik.frontend.entryPoints=https,http"
      - "traefik.port=8080"
    depends_on:
      - registry
      - core
      - portal
      - log
    logging:
      driver: "syslog"
      options:  
        syslog-address: "tcp://127.0.0.1:1514"
        tag: "proxy"
networks:
  harbor:
    external: false
  web:
    external: true

In my Harbor.yml i had leaved the http port to 80 and disabled https. My Proxy configuration is the default one.

The Web UI works fine but when I try to login with the docker client i get this response:

root@h2791112:~# docker login registry.example.com
Username: admin
Password:
Error response from daemon: Get https://registry.example.com/v2/: unauthorized: authentication required

And that are the crendentials that work with the ui

did I miss a label ?


Solution

  • This worked for me: https://github.com/goharbor/harbor/issues/3114#issuecomment-432962664 Follow the steps