Skip to content
This repository has been archived by the owner on Apr 17, 2023. It is now read-only.

Images and Tag Not displaying in portus UI. #1043

Closed
DockerAsura opened this issue Aug 26, 2016 · 14 comments
Closed

Images and Tag Not displaying in portus UI. #1043

DockerAsura opened this issue Aug 26, 2016 · 14 comments

Comments

@DockerAsura
Copy link

Hi Team,
Am able to push and images. But when i check in portus UI, no images are showing.
Also enabled delete option

delete:
enabled: true

Thanks
Kumar

@mssola
Copy link
Collaborator

mssola commented Aug 26, 2016

This is most probably a missconfiguration in your setup. Are you sure that the registry is able to reach portus with an event notification when an image is pushed ? Try to read the logs of the registry and portus. Moreover, it would be useful to know the versions of both Portus and the registry.

Finally, note that this is quite a common question/pitfall. Make sure to read similar issues, since they can sometimes provide helpful information.

@DockerAsura
Copy link
Author

Hi ,
Thanks for replay.
No, am not getting any event notification on portus dashboard.
Currently am not doing much configuration, following portus-compose-setup. modified only delete part

Thanks
Kumar

@DockerAsura
Copy link
Author

DockerAsura commented Aug 30, 2016

Hi,
Please my config file.

##################################################################################
# This file contains the default values for the configuration of this
# application. In order to change them, write your own config-local.yml file
# (it will be ignored by git). For more info, you can read the dedicated page
# here: http://port.us.org/docs/Configuring-Portus.html.

# Settings for the Portus mailer.
email:
  from: "dockeriisbpo@gmail.com"
  name: "Portus"
  reply_to: "dockeriisbpo@gmail.com"

  # If enabled, then SMTP will be used. Otherwise 'sendmail' will be used
  # (defaults to: /usr/sbin/sendmail -i -t).
  smtp:
    enabled: flase
    address: "smtp.example.com"
    port: 587,
    user_name: "username@example.com"
    password: "password"
    domain: "example.com"

# If enabled, then the profile picture will be picked from the Gravatar
# associated with each user. See: https://en.gravatar.com/
gravatar:
  enabled: true

# Allow admins and owners to delete images and tags. This feature should *only*
# be enabled if the version of the running registry is 2.4 or higher since
# it's the first version that supports garbage collection. That being said,
# Portus will only delete the manifests of the tags and administrators are
# supposed to be responsible for garbage collecting unreferenced blobs. This is
# because the registry 2.4 does not garbage collect automatically. For more
# information on garbage collection on the registry, read the documentation:
# https://github.com/docker/distribution/blob/master/docs/garbage-collection.md
delete:
  enabled: true

# LDAP support. If enabled, then only users of the specified LDAP server will
# be able to use Portus.
ldap:
  enabled: true

  hostname: "XX.XX.XX.XX"
  port: 2389

  # Available options: "plain", "simple_tls" and "starttls". The default is
  # "plain", the recommended is "starttls".
  method: "plain"

  # The base where users are located (e.g. "ou=users,dc=example,dc=com").
  base: "ou=users,ou=kml,o=hst,c=in"

  # User filter (e.g. "mail=george*").
  filter: "user_name_attribute = mail"

  # The LDAP attribute where to search for username. The default is 'uid'.
  uid: "uid"

  # LDAP credentials used to search for a user.
  authentication:
    enabled: false
    bind_dn: ""
    password: ""

  # Portus needs an email for each user, but there's no standard way to get
  # that from LDAP servers. You can tell Portus how to get the email from users
  # registered in the LDAP server with this configurable value. There are three
  # possibilities:
  #
  #   - disabled: this is the default value. It means that Portus won't do a
  #     thing when registering LDAP users (users will be redirected to their
  #     profile page until they setup an email account).
  #   - enabled where "attr" is empty: for this you need "ldap.base" to have
  #     some value. In this case, the hostname will be guessed from the domain
  #     component of the provided base string. For example, for the dn:
  #     "ou=users,dc=example,dc=com", and a user name "user", the resulting
  #     email is "user@example.com".
  #   - enabled where "attr" is not empty: with this you specify the attribute
  #     inside a LDIF record where the email is set.
  #
  # If something goes wrong when trying to guess the email, then it just falls
  # back to the default behavior (empty email).
  guess_email:
    enabled: true
    attr: "mail"

# Set first_user_admin to true if you want that the first user that signs up
# to be an admin.
#
# Set to false otherwise. Then you will need to run
#   rake portus:make_admin[USERNAME]
# in order to set the admin user
first_user_admin:
  enabled: true 

# If enabled, then users can signup with the signup form. Otherwise, the admin
# is responsible of creating new users by either:
#   - Using the "portus:create_user" rake task.
#   - Using the form available in the admin panel.
# This is ignored if LDAP is enabled.
signup:
  enabled: true

# By default require ssl to be enabled when running on production
check_ssl_usage:
  enabled: true

# Contains advanced options that tweak how Portus interacts with the
# Registry. Don't touch any of these values unless you *really* know what you
# are doing.
registry:
  # Set the expiration time in minutes for the JWT Token that Portus uses to
  # authenticate with the registry.
  #
  # Note that this is just a work-around on the fact that the registry does not
  # try to get a new token again after the current one has expired. Once a
  # solution is issued upstream, we can deprecate this option.
  #
  # See: https://github.com/SUSE/Portus/issues/510
  jwt_expiration_time:
    value: 5

  # Set the pagination value for API calls that fetch data from the
  # registry. You can read more about pagination in the registry here:
  #   https://github.com/docker/distribution/blob/master/docs/spec/api.md#pagination
  catalog_page:
    value: 100

# The FQDN of the machine where Portus is being deployed.
machine_fqdn:
  value: "localhost"

# Allow users to have different display names on the web site. This will
# **not** be the username used by `docker login`. It defaults to false because
# it might confuse users that are not fully aware of it.
display_name:
  enabled: false

user_permission:
  # Allow users to change the visibility or their personal namespace. If this is
  # disabled, only an admin will be able to change this. It defaults to true.
  change_visibility:
    enabled: true

  # Allow users to create/modify teams if they are an owner of it. If this is
  # disabled only an admin will be able to do this. This defaults to true.
  manage_team:
    enabled: true

  # Allow users to create/modify namespaces if they are an owner of it. If this
  # is disabled, only an admin will be able to do this. This defaults to true.
  manage_namespace:
    enabled: true

################################################################################

Thanks
Kumar

@mssola
Copy link
Collaborator

mssola commented Aug 30, 2016

Hi Kumar. I've taken the liberty to wrap the config you submitted with backticks so the comment is more readable, I hope you don't mind :)

Now, the configuration looks ok, but that was not what I was looking for exactly. That is, it would be more helpful to check the registry's config (usually /etc/registry/config.yml). Now, in the endpoints that you have configured there, do they point to the right host ? Again, maybe the logs show some light on the issue. Could you provide an excerpt of the interactions between the registry and Portus ?

@DockerAsura
Copy link
Author

HI,
Please find the "/etc/registry/config.yml".
###################################Starting file######################################
version: 0.1
storage:
filesystem:
rootdirectory: /registry_data
delete:
enabled: true
http:
addr: 0.0.0.0:5000
debug:
addr: 0.0.0.0:5001
auth:
token:
realm: http://EXTERNAL_IP:3000/v2/token
service: EXTERNAL_IP:5000
issuer: EXTERNAL_IP
rootcertbundle: /etc/docker/registry/portus.crt
notifications:
endpoints:
- name: portus
url: http://EXTERNAL_IP:3000/v2/webhooks/events
timeout: 500ms
threshold: 5
backoff: 1s
#######################################EOF#######################################

@DockerAsura
Copy link
Author

Hi Team,

can someone help me on this issue....

Thanks
kumar

@holgerreif
Copy link

EXTERNAL_IP should have been substituted by your real IP.

Are you sure you did run the compose-setup.sh script according to
Docker Compose Environment setup doc?

@DockerAsura
Copy link
Author

Hi ,
yes..same way am trying

./compose-setup.sh -e my.hostname.ip

Thanks
Kumar

@linzhuyue
Copy link

Hi were you fixed this problem,i have it same,thank you

@vagharsh
Copy link

hello, i have the same problem .. could you please clarify on how to fix it ?

@robertofabrizi
Copy link

Same here :(

@mssola
Copy link
Collaborator

mssola commented Feb 28, 2018

@robertofabrizi see comment.

@ajaysheoran2323
Copy link

same here :(

@ehsanrocket
Copy link

ehsanrocket commented Oct 19, 2020

#2243 (comment)
this works for me
setting the PORTUS_BACKGROUND_SYNC_STRATEGY=update-delete in background section of the docker-compose file

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

8 participants