harbor/README.md

81 lines
5.2 KiB
Markdown
Raw Normal View History

2016-03-28 16:21:06 +02:00
# Harbor
[![Build Status](https://travis-ci.org/vmware/harbor.svg?branch=master)](https://travis-ci.org/vmware/harbor)
![alg tag](https://cloud.githubusercontent.com/assets/2390463/13484557/088a1000-e13a-11e5-87d4-a64366365bef.png)
2016-07-19 11:56:55 +02:00
Project Harbor is an enterprise-class registry server, which extends the open source Docker Registry server by adding the functionality usually required by an enterprise, such as security, replication and management. Harbor is primarily designed to be a private registry - providing the needed security and control that enterprises require. It also helps minimize bandwidth usage, which is helpful to both improve productivity (local network access) as well as performance (for those with poor internet connectivity).
2016-03-28 16:21:06 +02:00
### Features
2016-07-12 17:39:16 +02:00
* **Role based access control**: Users and Docker repositories are organized via "projects", a user can have different permission for images under a project.
2016-07-13 04:55:53 +02:00
* **Image replication**: Images can be replicated(synchronized) between multiple registry instances. Great for load balancing and distributed data centers.
2016-05-17 11:32:10 +02:00
* **Graphical user portal**: User can easily browse, search Docker repositories, manage projects/namespaces.
2016-05-11 18:37:35 +02:00
* **AD/LDAP support**: Harbor integrates with existing enterprise AD/LDAP for user authentication and management.
* **Auditing**: All the operations to the repositories are tracked.
2016-06-06 06:07:30 +02:00
* **Internationalization**: Already localized for English, Chinese, German, Japanese and Russian. More languages can be added.
2016-05-11 18:37:35 +02:00
* **RESTful API**: RESTful APIs for most administrative operations, easing intergration with external management platforms.
2016-03-28 16:21:06 +02:00
2016-04-08 11:04:47 +02:00
### Getting Started
2016-05-11 18:37:35 +02:00
Harbor is self-contained and can be easily deployed via docker-compose (Quick-Start steps below). Refer to the [Installation and Configuration Guide](docs/installation_guide.md) for detailed information.
2016-03-28 16:21:06 +02:00
**System requirements:**
2016-05-17 11:32:10 +02:00
Harbor only works with docker 1.10+ and docker-compose 1.6.0+, and an internet-connected host.
2016-03-28 16:21:06 +02:00
1. Get the source code:
```sh
$ git clone https://github.com/vmware/harbor
```
2016-04-08 11:26:53 +02:00
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](docs/installation_guide.md) for more info.
2016-03-28 16:21:06 +02:00
2016-05-17 11:32:10 +02:00
3. Install Harbor with the following commands. Note that the docker-compose process can take a while.
2016-03-28 16:21:06 +02:00
```sh
$ 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
2016-07-13 09:42:47 +02:00
$ docker-compose up -d
2016-03-28 16:21:06 +02:00
```
2016-05-11 18:37:35 +02:00
_If everything worked properly, you should be able to open a browser to visit the admin portal at http://reg.yourdomain.com . Note that the default administrator username/password are admin/Harbor12345 ._
2016-04-08 11:04:47 +02:00
2016-05-11 18:37:35 +02:00
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 (By default, the registry server listens on port 80):
2016-03-28 16:21:06 +02:00
```sh
2016-04-08 11:04:47 +02:00
$ docker login reg.yourdomain.com
$ docker push reg.yourdomain.com/myproject/myrepo
2016-03-28 16:21:06 +02:00
```
**Data migration:**
2016-07-13 09:42:47 +02:00
If you are upgrading Harbor from an older version with existing data, you may need to migrate the data to fit the new database schema. For more details please refer to [Data Migration Guide](docs/migration_guide.md) .
2016-03-28 16:21:06 +02:00
**NOTE:**
2016-05-11 18:37:35 +02:00
For those who don't want to clone the source, or need to install Harbor on a server not connected to the Internet - there is a pre-built installation package available. For details on how to download and use this installation package, please refer to [Installation and Configuration Guide](docs/installation_guide.md) .
2016-03-28 16:21:06 +02:00
For information on how to use Harbor, please see [User Guide](docs/user_guide.md) .
### 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](https://cla.vmware.com/faq).
2016-03-28 16:21:06 +02:00
### License
Harbor is available under the [Apache 2 license](LICENSE).
2016-03-29 03:39:37 +02:00
2016-03-29 03:53:34 +02:00
### Partners
2016-03-31 05:37:08 +02:00
<a href="https://www.shurenyun.com/" border="0" target="_blank"><img alt="DataMan" src="docs/img/dataman.png"></a> &nbsp; &nbsp; <a href="http://www.slamtec.com" target="_blank" border="0"><img alt="SlamTec" src="docs/img/slamteclogo.png"></a>
2016-05-17 11:32:10 +02:00
&nbsp; &nbsp; <a href="https://www.caicloud.io" border="0"><img alt="CaiCloud" src="docs/img/caicloudLogoWeb.png"></a>
2016-03-29 03:53:34 +02:00
2016-03-29 03:39:37 +02:00
### Users
2016-06-06 06:07:30 +02:00
<a href="https://www.madailicai.com/" border="0" target="_blank"><img alt="MaDaiLiCai" src="docs/img/UserMaDai.jpg"></a> <a href="https://www.dianrong.com/" border="0" target="_blank"><img alt="Dianrong" src="docs/img/dianrong.png"></a>
2016-04-14 09:57:42 +02:00
### Supporting Technologies
2016-07-19 11:56:55 +02:00
<img alt="beego" src="docs/img/beegoLogo.png"> Harbor is powered by <a href="http://beego.me/">Beego</a>.
### About
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.