version: "3.8"

services:
  registry-ui:
    image: joxit/docker-registry-ui:main
    restart: always
    ports:
      - 80
    environment:
      - SINGLE_REGISTRY=true
      - REGISTRY_TITLE=Waylon Walker's Docker Registry
      - DELETE_IMAGES=true
      - SHOW_CONTENT_DIGEST=true
      - NGINX_PROXY_PASS_URL=https://registry.wayl.one
      - REGISTRY_URL=https://registry.wayl.one
      - SHOW_CATALOG_NB_TAGS=true
      - CATALOG_MIN_BRANCHES=1
      - CATALOG_MAX_BRANCHES=1
      - TAGLIST_PAGE_SIZE=100
      - REGISTRY_SECURED=true
      - CATALOG_ELEMENTS_LIMIT=1000
    container_name: registry-ui
    labels:
      kompose.service.expose: registry-ui.wayl.one
      kompose.image-pull-secret: regcred

  registry-server:
    image: registry:2.8.2
    restart: always
    ports:
      - 5000
    environment:
      REGISTRY_TITLE: Waylon Walker's Docker Registry
      REGISTRY_URL: https://registry.wayl.one
      REGISTRY_STORAGE_DELETE_ENABLED: "true"
      REGISTRY_AUTH: htpasswd
      REGISTRY_AUTH_HTPASSWD_REALM: Registry
      REGISTRY_AUTH_HTPASSWD_PATH: /auth/registry.password
    volumes:
      - registry:/var/lib/registry
      - registry-auth:/auth
      - registry-config:/etc/docker/registry
    container_name: registry-server
    labels:
      kompose.service.expose: registry.wayl.one
      kompose.service.type: loadbalancer

volumes:
  registry:
  registry-config:
  registry-auth:
