An open source trusted cloud native registry project that stores, signs, and scans content.
Go to file
2016-05-04 14:25:54 +08:00
.github provide issue template 2016-04-22 15:04:29 +08:00
api Change to get uri from http request, and response with relative path of resource. 2016-04-24 21:10:15 -07:00
auth adapt to other ldap servers 2016-04-25 19:00:36 +08:00
contrib Rename 2016-04-22 18:03:40 +08:00
controllers Added german locale 2016-04-26 13:21:31 +02:00
dao Merge pull request #146 from wy65701436/master 2016-04-27 12:11:33 +08:00
Deploy add timeout for notification in registry 2016-04-27 13:38:59 +08:00
docs update for http/https schemes support 2016-04-26 23:35:12 +08:00
models updates for create time localization of image detail and i18n of index title 2016-04-18 18:42:12 +08:00
service remove useless code 2016-04-17 22:39:10 +08:00
static Merge pull request #146 from wy65701436/master 2016-04-27 12:11:33 +08:00
ui update changepassword to /api/users/:id/password 2016-04-20 22:27:47 -07:00
utils fix #107, add ssl support for send email 2016-04-22 15:33:25 +08:00
vendor switch to /vendor, remove docker/distribution docker/libtrust go-sql-driver/mysql, and update Dockerfile to use go get to download these packages. 2016-02-19 13:01:58 +08:00
views Merge pull request #153 from senk/add-german 2016-04-27 12:00:34 +08:00
.gitignore ignore binary ui 2016-04-14 18:13:15 +08:00
.travis.yml bump up go version in travis.yml 2016-05-04 14:25:54 +08:00
AUTHORS update docs 2016-04-14 17:40:03 +08:00
Dockerfile.ui bump to golang 1.6.2 image to fix compilation error 2016-05-04 14:18:52 +08:00
favicon.ico added favicon.ico for Harbor 2016-03-11 14:34:56 +08:00
LICENSE update README, LICENSE, and bump to registry/2.3.0 2016-03-01 18:21:56 +08:00
NOTICE add NOTICE, update README.md 2016-03-03 10:15:12 +08:00
README.md harbor -> Harbor 2016-04-21 15:15:28 +08:00

Harbor

Build Status

alg tag

Project Harbor is initiated by VMware China R&D as a Cloud Application Accelerator (CAA) project. CAA provides a set of tools to improve the productivity of cloud developers in China and other countries. CAA includes tools like registry server, mirror server, decentralized image distributor, etc.

Project Harbor is an enterprise-class registry server. It extends the open source Docker Registry server by adding more functionalities usually required by an enterprise. Harbor is designed to be deployed in a private environment of an organization. A private registry is important for organizations who care much about security. In addition, a private registry improves productivity by eliminating the need to download images from the public network. This is very helpful to container users who do not have a good network to the Internet.

Features

  • Role Based Access Control: Users and docker repositories are organized via "projects", a user can have different permission for images under a namespace.
  • Graphical user portal: User can easily browse, search docker repositories, manage projects/namespaces.
  • AD/LDAP support: Harbor integrates with existing AD/LDAP of the enterprise for user authentication and management.
  • Auditing: All the operations to the repositories are tracked and can be used for auditing purpose.
  • Internationalization: Localized for English and Chinese languages. More languages can be added.
  • RESTful API: RESTful APIs are provided for most administrative operations of Harbor. The integration with other management softwares becomes easy.

Getting Started

Harbor is self-contained and can be easily deployed via docker-compose. The below are quick-start steps. Refer to the Installation and Configuration Guide for detail information.

System requirements:
Harbor only works with docker 1.10+ and docker-compose 1.6.0+ . The host must be connected to the Internet.

  1. Get the source code:

    $ git clone https://github.com/vmware/harbor
    
  2. Edit the file Deploy/harbor.cfg, make necessary configuration changes such as hostname, admin password and mail server. Refer to Installation and Configuration Guide for more info.

  3. Install Harbor by the following commands. It may take a while for the docker-compose process to finish.

    $ cd Deploy
    
    $ ./prepare
    Generated configuration file: ./config/ui/env
    Generated configuration file: ./config/ui/app.conf
    Generated configuration file: ./config/registry/config.yml
    Generated configuration file: ./config/db/env
    
    $ docker-compose up
    

If everything works fine, you can open a browser to visit the admin portal at http://reg.yourdomain.com . The default administrator username and password are admin/Harbor12345 .

Log in to the admin portal and create a new project, e.g. myproject. You can then use docker commands to login and push images. The default port of Harbor registry server is 80:

$ docker login reg.yourdomain.com
$ docker push reg.yourdomain.com/myproject/myrepo

NOTE:
To simplify the installation process, a pre-built installation package of Harbor is provided so that you don't need to clone the source code. By using this package, you can even install Harbor onto a host that is not connected to the Internet. For details on how to download and use this installation package, please refer to Installation and Configuration Guide .

For information on how to use Harbor, please see User Guide .

Deploy Harbor on Kubernetes

Detailed instruction about deploying Harbor on Kubernetes is described here.

Contribution

We welcome contributions from the community. If you wish to contribute code and you have not signed our contributor license agreement (CLA), our bot will update the issue when you open a pull request. For any questions about the CLA process, please refer to our FAQ.

License

Harbor is available under the Apache 2 license.

Partners

DataMan     SlamTec

Users

MaDaiLiCai

Supporting Technologies

beego Harbor is powered by Beego, an open source framework to build and develop applications in the Go way.