# How to use Registrator.jl for private registry

**URL:** <https://discourse.julialang.org/t/how-to-use-registrator-jl-for-private-registry/110453>\
**Category:** Tooling\
**Tags:** question\
**Created:** [February 20, 2024, 1:22pm UTC](https://discourse.julialang.org/t/how-to-use-registrator-jl-for-private-registry/110453 "2024-02-20T13:22:34Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![SunnyUser](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sunnyuser/32/206001_2.png) [@SunnyUser](https://discourse.julialang.org/u/SunnyUser)\
**Post date:** [February 20, 2024, 1:22pm UTC](https://discourse.julialang.org/t/how-to-use-registrator-jl-for-private-registry/110453/1 "2024-02-20T13:22:34Z")

</div>

Hi all 🙂

I’m currently setting up a private registry for our company packages. I checked out LocalRegistry.jl and Registrator.jl. Seems like Registrator.jl is only used for the general registry though.

My requirements are:

- I want to register packages from a subdir of a github repo
- I want automated updates after something gets pushed to main and the version number increased.

Do you now any tutorial or resouces where I can learn that. Equaly nice would be a tutorial here.

Thanks a lot!

---

<div class="post-metadata">

**Author:** ![GunnarFarneback](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gunnarfarneback/32/1827_2.png) [@GunnarFarneback](https://discourse.julialang.org/u/GunnarFarneback)\
**Post date:** [February 20, 2024, 1:38pm UTC](https://discourse.julialang.org/t/how-to-use-registrator-jl-for-private-registry/110453/2 "2024-02-20T13:38:38Z")

</div>

Getting that to work is certainly possible with LocalRegistry but is mostly a question of setting up CI jobs and authorizations. What git/CI environment are you using?

If it happens to be GitLab you can find some relevant information in  
[Julia and Gitlab self-hosted : a state-of-the-art? - #6 by GunnarFarneback](https://discourse.julialang.org/t/julia-and-gitlab-self-hosted-a-state-of-the-art/86685/6) and the rest of that thread.

---

<div class="post-metadata">

**Author:** ![SunnyUser](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sunnyuser/32/206001_2.png) [@SunnyUser](https://discourse.julialang.org/u/SunnyUser)\
**Post date:** [February 21, 2024, 10:36am UTC](https://discourse.julialang.org/t/how-to-use-registrator-jl-for-private-registry/110453/3 "2024-02-21T10:36:04Z")

</div>

We are using Github. Does that work similar?

---

<div class="post-metadata">

**Author:** ![GunnarFarneback](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gunnarfarneback/32/1827_2.png) [@GunnarFarneback](https://discourse.julialang.org/u/GunnarFarneback)\
**Post date:** [February 21, 2024, 10:58am UTC](https://discourse.julialang.org/t/how-to-use-registrator-jl-for-private-registry/110453/4 "2024-02-21T10:58:17Z")

</div>

Similar at a high level but the details are certainly different. I have only done this with GitLab and BitBucket.

One critical step that’s missing in LocalRegistry is to automatically create a PR to the registry. For GitLab that is supported with the `create_gitlab_mr` argument, but the technique used there is not applicable to GitHub and instead it needs to be done through GitHub API calls. The [GitHub package](https://github.com/JuliaWeb/GitHub.jl) can help with that. If you can figure out the details I’d be happy to add it as a package extension to LocalRegistry.

(Strictly speaking you don’t have to go through a PR for your private registry but could let LocalRegistry push directly to the default branch. If you do it like that you can ignore what I wrote above but you lose some flexibility like being able to run RegistryCI on the registry changes.)

Regardless what approach you use you will need to figure out the authentication needed for CI in a package repository to push to and possibly make a PR to the registry repository.

---

<div class="post-metadata">

**Author:** ![ericphanson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ericphanson/32/215186_2.png) [@ericphanson](https://discourse.julialang.org/u/ericphanson)\
**Post date:** [February 21, 2024, 11:48am UTC](https://discourse.julialang.org/t/how-to-use-registrator-jl-for-private-registry/110453/5 "2024-02-21T11:48:01Z")

</div>

> [@SunnyUser](#):
>
> Seems like [Registrator.jl](https://juliahub.com/ui/Packages/Registrator) is only used for the general registry though.

Just to say my company does use registrator for a private registry. It is a bit more complicated since you need an always-running server to host it, but it does work for private registries too.
