Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. App Wishlist
  3. Docker registry

Docker registry

Scheduled Pinned Locked Moved Solved App Wishlist
65 Posts 9 Posters 26.4k Views 12 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • marioM mario

    @robi I have managed to integrate the registry with GitLab.

    @girish where are we at with making proper MR for AuthProxy + making SSO optional? Then I can document GitLab integration, you can write some tests and off we go!

    girishG Offline
    girishG Offline
    girish
    Staff
    wrote on last edited by
    #34

    @mario Fantastic news. So, all we need is docs to make it work with GitLab registry or does it need any packages changes to gitlab app or docker registry app ?

    marioM 1 Reply Last reply
    2
    • girishG girish

      @mario Fantastic news. So, all we need is docs to make it work with GitLab registry or does it need any packages changes to gitlab app or docker registry app ?

      marioM Offline
      marioM Offline
      mario
      App Dev
      wrote on last edited by
      #35

      @girish doesn't seem like it'll need package changes, documentation will be enough.

      marioM 1 Reply Last reply
      0
      • marioM mario

        @girish doesn't seem like it'll need package changes, documentation will be enough.

        marioM Offline
        marioM Offline
        mario
        App Dev
        wrote on last edited by mario
        #36

        I take that back, I did add some package changes. Had no time to test, but things seem to be working ok from the initial glimpse at it:

        https://git.cloudron.io/cloudron/docker-registry-app/-/merge_requests/1

        Please test and report back @girish and others 🙂

        1 Reply Last reply
        2
        • robiR Offline
          robiR Offline
          robi
          wrote on last edited by
          #37

          Might be useful to add auto deletion of old images:
          https://github.com/jeffstephens/retention-manager

          Conscious tech

          marioM 1 Reply Last reply
          0
          • robiR robi

            Might be useful to add auto deletion of old images:
            https://github.com/jeffstephens/retention-manager

            marioM Offline
            marioM Offline
            mario
            App Dev
            wrote on last edited by
            #38

            @robi GitLab does that for me 😛 Maybe a separate app? 🙂

            girishG robiR 2 Replies Last reply
            0
            • marioM mario

              @robi GitLab does that for me 😛 Maybe a separate app? 🙂

              girishG Offline
              girishG Offline
              girish
              Staff
              wrote on last edited by
              #39

              @mario Just looking into this now.

              Wondering, what is the best way forward. The app has no UI, but can have a login screen (via proxyAuth). So, when they login, they see a blank screen. Not ideal. Does it make sense to bundle any of the docker uis like https://github.com/Joxit/docker-registry-ui/ ? Seems quite easy to do. I can look into it.

              marioM 1 Reply Last reply
              2
              • marioM mario

                @robi GitLab does that for me 😛 Maybe a separate app? 🙂

                robiR Offline
                robiR Offline
                robi
                wrote on last edited by
                #40

                @mario that's great, but the standalone private registry app that's coming may need it and as @girish pointed out a simple UI.

                Also not everyone is interested in the ruby laden GitLab and all it's complexity. 🙂

                Conscious tech

                1 Reply Last reply
                0
                • girishG girish

                  @mario Just looking into this now.

                  Wondering, what is the best way forward. The app has no UI, but can have a login screen (via proxyAuth). So, when they login, they see a blank screen. Not ideal. Does it make sense to bundle any of the docker uis like https://github.com/Joxit/docker-registry-ui/ ? Seems quite easy to do. I can look into it.

                  marioM Offline
                  marioM Offline
                  mario
                  App Dev
                  wrote on last edited by
                  #41

                  @girish depends on what the community needs. I'm more than happy to have a separate registry + other things as separate apps for those who need it.

                  If I needed to pick the best registry solution with UI and everything else that's well maintained and suitable for Cloudron, I'd probably look at Quay which supports LDAP auth.

                  https://github.com/quay/quay

                  1 Reply Last reply
                  2
                  • mehdiM Offline
                    mehdiM Offline
                    mehdi
                    App Dev
                    wrote on last edited by
                    #42

                    I am 100% in favor of bundling a simple UI together with the registry. Even if one does not need it and wants to use the gitlab UI, there's basically nothing to lose besides a few kB of storage ^^

                    1 Reply Last reply
                    2
                    • jimcavoliJ Offline
                      jimcavoliJ Offline
                      jimcavoli
                      App Dev
                      wrote on last edited by
                      #43

                      Yeah, Quay and Harbor are definitely the big players in this space. Very similar products - harbor is CNCF graduated and Quay is upstream for the corresponding Red Hat product. Either (or both) would be good UI adds.

                      marioM 1 Reply Last reply
                      1
                      • girishG Offline
                        girishG Offline
                        girish
                        Staff
                        wrote on last edited by
                        #44

                        Last I checked harbor was impractical to package (as in way too much effort, it's really geared for the k8s crowd). Quay is a good option, but let me get this basic docker registry out first, I am almost there.

                        1 Reply Last reply
                        3
                        • jimcavoliJ jimcavoli

                          Yeah, Quay and Harbor are definitely the big players in this space. Very similar products - harbor is CNCF graduated and Quay is upstream for the corresponding Red Hat product. Either (or both) would be good UI adds.

                          marioM Offline
                          marioM Offline
                          mario
                          App Dev
                          wrote on last edited by
                          #45

                          @jimcavoli Quay afaik implements the protocol as well, so no need for registry separately.

                          1 Reply Last reply
                          0
                          • girishG Offline
                            girishG Offline
                            girish
                            Staff
                            wrote on last edited by
                            #46

                            So strange, I am getting a "invalid checksum digest format" whenever I push now to this registry. Has anyone seen such an error before?

                            The push refers to repository [xxx.xxx.xxx/cloudron/base]
                            fcdfeda3e242: Layer already exists 
                            0ea3bde29271: Layer already exists 
                            d75ccb14b8b6: Layer already exists 
                            74b4389a43ab: Layer already exists 
                            5f38ae1e1a63: Layer already exists 
                            3479c151673d: Layer already exists 
                            7a307b866f25: Layer already exists 
                            ce3a66c20e17: Layer already exists 
                            7197b970ebb9: Layer already exists 
                            16542a8fc3be: Layer already exists 
                            6597da2e2e52: Layer already exists 
                            977183d4e999: Layer already exists 
                            c8be1b8f4d60: Layer already exists 
                            invalid checksum digest format
                            
                            marioM 1 Reply Last reply
                            0
                            • girishG girish

                              So strange, I am getting a "invalid checksum digest format" whenever I push now to this registry. Has anyone seen such an error before?

                              The push refers to repository [xxx.xxx.xxx/cloudron/base]
                              fcdfeda3e242: Layer already exists 
                              0ea3bde29271: Layer already exists 
                              d75ccb14b8b6: Layer already exists 
                              74b4389a43ab: Layer already exists 
                              5f38ae1e1a63: Layer already exists 
                              3479c151673d: Layer already exists 
                              7a307b866f25: Layer already exists 
                              ce3a66c20e17: Layer already exists 
                              7197b970ebb9: Layer already exists 
                              16542a8fc3be: Layer already exists 
                              6597da2e2e52: Layer already exists 
                              977183d4e999: Layer already exists 
                              c8be1b8f4d60: Layer already exists 
                              invalid checksum digest format
                              
                              marioM Offline
                              marioM Offline
                              mario
                              App Dev
                              wrote on last edited by
                              #47

                              @girish local filesystem?

                              girishG 1 Reply Last reply
                              0
                              • marioM mario

                                @girish local filesystem?

                                girishG Offline
                                girishG Offline
                                girish
                                Staff
                                wrote on last edited by girish
                                #48

                                @mario Yes, with the local storage. I wonder if it's something to do with the proxy auth. I am trying it without auth now.

                                edit: indeed, something to do with the proxy auth. It works fine without proxy auth. Debugging.

                                mehdiM 1 Reply Last reply
                                0
                                • girishG girish

                                  @mario Yes, with the local storage. I wonder if it's something to do with the proxy auth. I am trying it without auth now.

                                  edit: indeed, something to do with the proxy auth. It works fine without proxy auth. Debugging.

                                  mehdiM Offline
                                  mehdiM Offline
                                  mehdi
                                  App Dev
                                  wrote on last edited by
                                  #49

                                  @girish Are you on 6.1 ? Maybe your 2FA implementation broke something with the basic auth ?

                                  girishG 1 Reply Last reply
                                  0
                                  • mehdiM mehdi

                                    @girish Are you on 6.1 ? Maybe your 2FA implementation broke something with the basic auth ?

                                    girishG Offline
                                    girishG Offline
                                    girish
                                    Staff
                                    wrote on last edited by
                                    #50

                                    @mehdi yeah, i had that in mind and tried with 6.0 as well. fails the same. I am pretty sure this worked when I tested it back then, so I must have broke something !

                                    mehdiM 1 Reply Last reply
                                    0
                                    • girishG girish

                                      @mehdi yeah, i had that in mind and tried with 6.0 as well. fails the same. I am pretty sure this worked when I tested it back then, so I must have broke something !

                                      mehdiM Offline
                                      mehdiM Offline
                                      mehdi
                                      App Dev
                                      wrote on last edited by
                                      #51

                                      @girish You can try with an app-password, or try another Basic Auth ProxyAuth app, like Transmission (with an android app or a browser extension)

                                      1 Reply Last reply
                                      0
                                      • girishG Offline
                                        girishG Offline
                                        girish
                                        Staff
                                        wrote on last edited by
                                        #52

                                        What I am seeing is that docker doesn't send any authorization header at all. The issue is very similar to https://stackoverflow.com/questions/55516317/docker-login-not-passing-basic-authentication-headers-to-nginx . I can curl just fine.

                                        1 Reply Last reply
                                        0
                                        • girishG Offline
                                          girishG Offline
                                          girish
                                          Staff
                                          wrote on last edited by
                                          #53

                                          It seems that v2 registry auth does not use the basic bearer based authentication at all. https://docs.docker.com/registry/recipes/nginx/ is possibly obsolete, but I am trying to setup a registry from scratch now to double check.

                                          marioM mehdiM 2 Replies Last reply
                                          2
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Bookmarks
                                          • Search