An open source trusted cloud native registry project that stores, signs, and scans content.
Go to file
kun wang dd0a5b3576 Merge pull request #685 from wknet123/master
Update for i18n messages.
2016-08-16 17:51:49 +08:00
.github provide issue template 2016-04-22 15:04:29 +08:00
Deploy Merge pull request #628 from ywk253100/docs 2016-08-08 21:23:15 +08:00
api Merge pull request #679 from ywk253100/master_d 2016-08-12 14:39:27 +08:00
auth fix typo in ldap.go 2016-07-19 16:46:21 +08:00
contrib update prebuilt 2016-08-03 15:48:20 +08:00
controllers fixed self registration unchecked. 2016-08-03 15:43:43 +08:00
dao remove creator field from top repo query 2016-08-03 10:39:33 +08:00
docs Update swagger.yaml 2016-08-12 15:12:35 +08:00
job Merge pull request #556 from ywk253100/bug_fixes 2016-07-15 17:29:20 +08:00
jobservice statemachine and schduler to support retry 2016-07-05 11:42:30 +08:00
migration update readme, migration guide 2016-07-13 15:42:47 +08:00
models remove creator field from top repo query 2016-08-03 10:39:33 +08:00
service make token expiratioin configurable 2016-08-08 11:21:48 +08:00
static Update for i18n messages. 2016-08-16 17:39:34 +08:00
tests fix build issue 2016-07-14 21:22:39 +08:00
ui add new page for change password 2016-07-06 13:09:32 +08:00
utils close connection immediately when it is not used anymore 2016-07-14 18:15:24 +08:00
vendor rebuild vendor directory 2016-08-12 14:50:00 +08:00
views fixed self registration unchecked. 2016-08-03 15:43:43 +08:00
.gitignore statemachine and schduler to support retry 2016-07-05 11:42:30 +08:00
.travis.yml Update .travis.yml 2016-08-10 17:18:47 +08:00
AUTHORS update roadmap 2016-06-03 16:57:38 +08:00
Dockerfile.job rebuild vendor directory 2016-08-12 14:50:00 +08:00
Dockerfile.ui rebuild vendor directory 2016-08-12 14:50:00 +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 udpate readme on slack channel 2016-08-04 17:27:35 +08:00
ROADMAP.md update roadmap 2016-06-03 17:03:58 +08:00
favicon.ico added favicon.ico for Harbor 2016-03-11 14:34:56 +08:00

README.md

Harbor

Build Status

alg tag

Project Harbor is an enterprise-class registry server that stores and distributes Docker images. Harbor extends the open source Docker Distribution by adding the functionalities usually required by an enterprise, such as security, identity and management. As an enterprise private registry, Harbor offers better performance and security. Having a registry closer to the build and run environment improves the image transfer efficiency. Harbor supports the setup of multiple registries and has images replicated between them. With Harbor, the images are stored within the private registry, keeping the bits and intellectual properties behind the company firewall. In addition, Harbor offers advanced security features, such as user management, access control and activity auditing.

Features

  • Role based access control: Users and repositories are organized via 'projects' and a user can have different permission for images under a project.
  • Image replication: Images can be replicated (synchronized) between multiple registry instances. Great for load balancing, high availability, hybrid and multi-cloud scenarios.
  • Graphical user portal: User can easily browse, search repositories and manage projects.
  • AD/LDAP support: Harbor integrates with existing enterprise AD/LDAP for user authentication and management.
  • Auditing: All the operations to the repositories are tracked.
  • Internationalization: Already localized for English, Chinese, German, Japanese and Russian. More languages can be added.
  • RESTful API: RESTful APIs for most administrative operations, easy to integrate with external systems.
  • Easy deployment: docker compose and offline installer.

Install

System requirements: Harbor only works with docker 1.10.0+ and docker-compose 1.6.0+.

Install via docker compose

On an Internet connected host, Harbor can be easily installed via docker-compose:

  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 with the following commands. Note that the docker-compose process can take a while.

    $ 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 -d
    

Install via offline installer

For those who do not 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 the installation package, please refer to Installation and Configuration Guide.

After installation

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.

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):

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

Upgrade

If you are upgrading Harbor from an older version with existing data, you need to migrate the data to fit the new database schema. For more details, please refer to Data Migration Guide.

Run

For information on how to use Harbor, please take a look at User Guide.

Community

Get connected with Project Harbor's community and sign up with VMware {code} https://code.vmware.com/join/ to get invited to VMware {code} Slack group, Channel: #harbor.

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     CaiCloud

Users

MaDaiLiCai Dianrong

Supporting Technologies

beego Harbor is powered by Beego.

About

Project Harbor is initiated by the Advanced Technology Center (ATC), VMware China R&D as a Cloud Application Accelerator (CAA) project.