api | ||
auth | ||
controllers | ||
dao | ||
Deploy | ||
docs | ||
models | ||
routers | ||
service | ||
static | ||
utils | ||
vendor | ||
views | ||
.gitignore | ||
.travis.yml | ||
Dockerfile | ||
favicon.ico | ||
LICENSE | ||
main.go | ||
NOTICE | ||
README.md |
Harbor
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 public network. This is very helpful to container users who do not have a good network to the Internet. For example, Harbor accelerates the progress of Chinese developers, because they no longer need to pull images from the Internet.
Features
- Role Based Access Control: Users and docker repositories are organized via "projects", a user can have differernt permission for images under a namespace.
- Graphical user portal: User can easily browse, search docker repositories, manage projects/namepaces.
- AD/LDAP support: Harbor integrates with existing AD/LDAP of enterprise for user authentication and management.
- Audting: 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 software becomes easy.
Try it
Harbor is self contained and can be easily deployed via docker-compose.
System requirements: Harbor only works with docker 1.8+ and docker-compose 1.6.0+ .
- Get the source code:
$ git clone https://github.com/vmware/harbor
-
Edit the file Deploy/harbor.cfg, make necessary configuration changes such as host name, admin password and mail server. Refer to Installation Guide for more info.
-
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 http://yourhostname . The default administrator username and password is admin/Harbor12345 .
NOTE: To simplify the installation process, a pre-built 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 the installation package, please refer to Installation Guide .
For information on how to use Harbor, please see User Guide .
Contribution
We welcome contributions from the community. If you wish to contribute code, we require that you first sign our Contributor License Agreement and return a copy to osscontributions@vmware.com before we can merge your contribution.
License
Harbor is available under the Apache 2 license.