npme Docker Image
run npm Enterprise in a Docker container.
Running npm Enterprise as a container
- clone this repo.
- visit https://www.npmjs.org/enterprise, and signup for a license.
npm install; npm run-script configure.
- enter the the appropriate configuration info, including the license you just validated.
- if you'd like a more specialized installation, edit
- build the docker image:
docker build -t npme ..
- run the docker container:
docker run -p 8080:8080 -t npme.
You should now have a functional private registry, that's all there is to it!
Running npm Enterprise as an Interactive Container
- rather than running
docker run -p 8080:8080 -t npme, run:
docker run -i -p 8080:8080 -t npme bash
- to start up npm Enterprise, run:
service redis-server start | service nginx start | couchdb | npme restart | tail -f ./logs/*
- to experiment with configuration changes:
- start npm Enterprise (
service redis-server start | service nginx start | couchdb | npme restart | tail -f ./logs/*)
Tips and Tricks
On OSX I needed to open up port
VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port8080,tcp,,8080,,8080";
NPM, INC., A DELAWARE CORPORATION (THE "LICENSOR") IS WILLING TO LICENSE THIS
SOFTWARE TO YOU (THE "LICENSEE") ONLY ON THE CONDITION THAT LICENSEE ACCEPT ALL
OF THE TERMS CONTAINED IN THIS LICENSE AGREEMENT (THE "AGREEMENT"). This is a
legal agreement between Licensee (either an individual end-user or an entity)
and Licensor with respect to Licensee's access and use of Licensor's
proprietary software, content and related documentation and information and any
other such service provided by Licensor. Licensee must accept all of the terms,
conditions, and notices contained in this Agreement, without modification, in
order to access and/or use the Licensed Technology (as defined below). By using
the Licensed Technology, Licensee is agreeing to be bound by the terms and
conditions of this Agreement. If Licensee does not agree to the terms and
conditions of this Agreement, Licensee may not access or use the Licensed
Technology, and Licensee must promptly cancel the downloading and/or
installation of the Licensee, or if Licensee has downloaded and installed the
Licensed Technology, then Licensee must stop using the Licensed Technology and
destroy any copies of the Licensed Technology in Licensee's possession or
control. Licensor and Licensee are sometimes referred to herein individually as
a "Party" or collectively as the "Parties".
THIS AGREEMENT IS MADE IN CONNECTION WITH LICENSEE'S SUBSCRIPTION AND ORDER
FORM FOR ACCESS TO THE LICENSED TECHNOLOGY (THE "ORDER FORM"). THE ORDER FORM
IS HEREBY INCORPORATED HEREIN BY THIS REFERENCE. In consideration of the
promises and covenants set forth herein, the Parties hereto agree as follows:
- Definitions. For purposes of this Agreement, the terms below have the
following meanings whenever capitalized:
"Affiliates" means the parent company of a Party, and any present or future
company that Controls, is Controlled by, or is under common Control with such
Party, including any subsidiary of such Party.
"Business Day" shall mean any day except Saturday, Sunday, or a legal holiday
"Business Hours" means 10:00 am PST to 6:00 pm PST on a Business Day.
"Control" (including with its correlative meanings, "Controlled by",
"Controlling", and "under common Control with") means possession, directly or
indirectly, of power to direct or cause the direction of management or
policies, whether through ownership of securities or partnership or other
ownership interests, by contract or otherwise.
"Documentation" means, in digital, printed or other form, the technical, user
and reference manuals, notes, instructions and summaries, technical release
notes, and any other supporting documentation related to the Software.
"Field of Use" means Licensee's internal business purposes.
"Intellectual Property Rights" means any and all right, title and interest,
arising or existing as of the Effective Date or at any time thereafter,
anywhere in the world, including, but not limited to, all copyright, moral
rights, patent, patent registration, service mark, service name, trade name,
trade secret, trademark, or other proprietary right arising or enforceable
under any United States federal or state law, rule or regulation, nonUnited
States law, rule or regulation or international treaty.
"Licensed Technology" means the Software and Documentation and any and all
related Intellectual Property Rights.
"Licensed Users" mean employees, agents, and subcontractors of Licensee.
"Releases" means bug fixes, enhancements, maintenance releases, error
corrections, upgrades, additions, improvements, modifications, extensions, new
versions or successor or replacement products of or to any components of the
Licensed Technology created by or for Licensor and made available by Licensor
"Software" means the source code and object code to the Source Code.
"Source Code" means the computer software set forth and described on the Order
"Support Services" means the technical maintenance and support services and
training provided by Licensor for the Software as more specifically set forth
on the Order Form.
"Support Term" means the period of time Licensor must provide Support Services
for the Software as set forth on the Order Form.
- License, Support & Cooperation.
2.1 License. Subject to the terms of this Agreement (including, but not limited
to, the limitations set forth in Section 3 and Section 5), Licensor grants to
Licensee a nonexclusive, non-transferable, worldwide, enterprise wide license
and right to use, copy and install the Licensed Technology at any location on
an unlimited number of servers, workstations or machines owned, leased or
controlled by, or operated on behalf of, Licensee, for use by up to that number
of Licensed Users, as paid for by Licensee, solely for use in the Field of Use.
Any other use of the Licensed Technology is expressly prohibited, unless prior
written permission has been given by a duly authorized officer of Licensor. The
Licensed Technology is licensed, not sold.
2.2 Support. During the Support Term, Licensor shall use commercially
reasonable efforts to provide the Support Services during Licensor's Business
Hours, at no extra charge to Licensee. If requested by Licensee, for any
additional Support Services, the Parties shall update the Order Form
accordingly to include the terms of such additional Support Services, and
Licensee agrees to pay the additional support fees as indicated on the Order
Form (the "Additional Support Fees"). Additionally, Licensor may provide
Releases to the Licensed Technology, in its sole discretion.
- License Restrictions.
3.1 Licensee Restrictions. Licensee will use the Licensed Technology solely in
the Field of Use. Licensee will not directly or indirectly, alone or with any
other party, modify or alter the Licensed Technology or allow any other party
to modify or alter the Licensed Technology, other than as is necessary for
Licensee's use in the Field of Use. Licensee agrees that it will not, without
Licensor's prior written consent, transfer, copy, sublicense, or provide any
access of any kind to the Licensed Technology to anyone, including but not
limited to customers or contractors of Licensee, and that Licensor may grant or
withhold its consent in its absolute discretion.
3.2 Licensor Covenant. Licensor covenants that it will not license the Licensed
Technology to any third party for use in the Field of Use.
- Fees; Taxes; Expenses.
4.1 License Fees and Support Fees. Licensor offers to Licensee the Licensed
Technology at the agreed-upon annual and monthly rate schedule described on the
Order Form (the "License Fees"). The Annual Base License Fees (as defined n the
Order Form) shall be due and payable upon expiration of the Trial Period (as
defined in Section 4.2 below). Licensee must pay Licensor the Monthly License
Fee (as defined n the Order Form) and any Additional Support Fees (if
applicable) within thirty (30) days from the date of receipt by Licensee of
4.2 Trial Period. Commencing on the Effective Date and ending thirty (30) days
following the Effective Date (such period, the "Trial Period"), Licensee shall
not be invoiced for the License Fees (e.g., no Fees will be charged during the
Trial Period). Licensee may terminate this Agreement at any time during the
Trial Period, pursuant to Section 8.3, and not be charged any subsequent Fees.
If Licensee does not terminate this Agreement prior to the end of the Trial
Period, Licensee shall pay the applicable License Fees for the Term. During the
Trial Period, Licensee agrees not to use the Licensed Technology to install,
upload, or execute any software or material that contains or has access to any
of Licensee's confidential or proprietary information. All terms of this
Agreement shall apply during and after the Trial Period.
4.3 Taxes. The Parties do not intend that this Agreement will give rise to any
tax liability on the part of either Party. Licensee, however, agrees to pay any
sales, use or other taxes or duties arising out of or in connection with this
Agreement, not including Licensor's income tax, within thirty (30) days of
Licensor's written demand setting forth the nature and amount of such fees
4.4 Expenses. Licensee must reimburse Licensor for reasonable expenses which
have been preapproved in writing by Licensee. Licensor must provide Licensee
with copies of original receipts and other documentation required by Licensee
with regard to the expenses for Licensor to receive reimbursement for the
- Proprietary Rights.
a. The Licensed Technology, in whole and in part and all copies thereof, and
all modifications, enhancements, derivatives and other alterations of the
Licensed Technology (including, but not limited to, all Intellectual Property
Rights to the Licensed Technology), whether developed by Licensor, Licensee or
others, are and will remain the sole and exclusive property of Licensor.
Licensee has no rights in the Licensed Technology or its modifications,
enhancements, derivatives and other alternations, except for the license rights
expressly granted in this Agreement.
b. Neither Party's performance under this Agreement will be deemed to create
any works for hire under Title 17 of the United States Code. Licensor will
retain all copyright interest in the published and unpublished versions of the
Licensed Technology and its modifications.
5.2 Trade Secrets.
a. Licensee acknowledges and agrees that the Licensed Technology (including all
modifications, enhancements, derivatives and other alterations) is confidential
and represents Licensor's trade secret. As a result, Licensee (i) will keep the
Licensed Technology in strictest confidence and (ii) will not use, disclose,
provide or otherwise make available, directly or indirectly, the Licensed
Technology or allow the Licensed Technology to be made available to any person
except those employees of Licensee who have a need to know. Licensee will
promptly report to Licensor any infringement of the confidentiality of the
Licensed Technology of which it becomes aware. Licensee will further indemnify
Licensor for any damages, liabilities and expenses arising from a breach of
this Section 5.2 by Licensee or its agents, and will take such steps as
necessary to remedy any such breach. Licensee will identify every person to
whom the Licensed Technology has been made available in accordance the terms
and conditions of this Agreement and will fully cooperate with Licensor in
seeking injunctive or other relief against such person if such Licensed
Technology is improperly used in violation of the terms of this Agreement.
b. The obligations of Licensee under this Section 5.2 do not apply to
information that Licensee can demonstrate (i) was in its possession at the time
of disclosure without confidentiality restrictions; (ii) at the time of
disclosure by Licensor is generally available to the public or after disclosure
becomes generally available to the public through no breach of agreement or
other wrongful act by Licensee; provided, however, such information remains
subject to confidentiality obligations regardless of its availability to the
public or availability through unauthorized disclosure; (iii) was received from
a third party without restriction on disclosure and without breach of agreement
or other wrongful act by Licensee; or (iv) is independently developed by
Licensee without reference to the confidential information of Licensor
c. In the event Licensee is required by law, regulation, stock exchange
requirement or legal process to disclose any of Licensor's confidential
information, Licensee must (i) give Licensor, to the extent possible,
reasonable advance notice prior to disclosure so Licensor may contest the
disclosure or seek a protective order, and (ii) reasonably limit the disclosure
to the minimum amount that is legally required to be disclosed..
5.3 Intellectual Property Notices. Licensee will not delete or in any manner
alter the copyright, trademark, and other proprietary rights notices of
Licensor and its licensors, if any, appearing on the Licensed Technology as
delivered to Licensee. Licensee will reproduce such notices on all copies it
makes of the Licensed Technology and on all documentation accompanying the
- No Warranty; Limitation of Liability.
6.1 No Warranty. LICENSEE UNDERSTANDS AND AGREES THAT THE LICENSED TECHNOLOGY
IS DELIVERED TO LICENSEE "AS IS", WITH NO WARRANTIES OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, ARISING OR IMPLIED FROM
USAGE OF TRADE OR COURSE OF DEALINGS AND NONINFRINGEMENT. IN NO EVENT WILL
LICENSOR BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES
OF ANY NATURE OR KIND WHATSOEVER, INCLUDING BUT NOT LIMITED TO PERSONAL INJURY,
PROPERTY DAMAGE, LOSS OF PROFITS OR OTHER ECONOMIC LOSS IN CONNECTION WITH, OR
ARISING OUT OF, DELIVERING, INSTALLING, FURNISHING, MAINTAINING, SUPPORTING OR
USING THE SOFTWARE, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF
6.2 Limitation of Liability. EXCEPT FOR ANY BREACH OF EACH PARTY'S
CONFIDENTIALITY OBLIGATIONS AND EACH PARTY'S RESPECTIVE INDEMNIFICATION
OBLIGATIONS, NEITHER PARTY IS LIABLE UNDER ANY THEORY OF TORT, CONTRACT, STRICT
LIABILITY OR OTHER LEGAL OR EQUITABLE THEORY FOR LOST PROFITS, EXEMPLARY,
PUNITIVE, SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR THE LIKE,
EACH OF WHICH IS HEREBY EXCLUDED BY AGREEMENT OF THE PARTIES REGARDLESS OF
WHETHER DAMAGES WERE FORESEEABLE OR WHETHER THE OTHER PARTY HAD BEEN ADVISED OF
THE POSSIBILITY OF DAMAGES. EXCEPT FOR LICENSOR'S RESPECTIVE INDEMNIFICATION
OBLIGATIONS, LICENSOR'S TOTAL LIABILITY UNDER THIS AGREEMENT WILL BE LIMITED TO
ANY FEES ACTUALLY PAID BY LICENSEE HEREUNDER. THE PARTIES HAVE AGREED THAT THE
LIMITATIONS SPECIFIED IN THIS SECTION 6 WILL SURVIVE AND APPLY EVEN IF ANY
LIMITED REMEDY SPECIFIED IN THIS AGREEMENT IS FOUND TO HAVE FAILED OF ITS
7.1 By Licensee. Licensee agrees that it shall, at its own expense, defend,
indemnify and hold harmless Licensor and its Affiliates (the "Licensor
Indemnitees") from any liability, damage, cost, claim, or expense (including
attorney's fees) of any kind arising out of or in connection with any third
party claim brought against any Licensor Indemnitee based upon (a) Licensee's
use of the Licensed Technology in a manner not authorized by this Agreement,
and/or (b) any alleged breach of the provisions of Sections 3 or 5 of this
7.2 By Licensor. Licensor agrees that it shall, at its own expense, defend,
indemnify and hold harmless Licensee and its Affiliates (the "Licensee
Indemnitees") from any liability, damage, cost, claim, or expense (including
attorney's fees) of any kind arising out of or in connection with any third
party claim brought against any Licensee Indemnitee based upon (a) any
allegation that the Licensed Technology provided pursuant to this Agreement
infringes any patents, copyrights or other proprietary rights of any third
party, provided that Licensor is promptly notified, rendered reasonable
assistance by Licensee as may be requested by Licensor at Licensor's expense,
and is permitted to direct the defense or settlement negotiations for such
7.3 Procedure. Each Party seeking indemnification under this Agreement (the
"Indemnified Party") agrees to (i) promptly notify the other Party providing
indemnification (the "Indemnifying Party") in writing of any indemnifiable
claim, and (ii) give the Indemnifying Party the opportunity to defend or
negotiate a settlement of any such claim at such Indemnifying Party's expense
and cooperate fully with the Indemnifying Party, at such Indemnifying Party's
expense, in defending or settling such claim. Each Indemnified Party reserves
the right, at its own expense, to participate in the defense of any matter
otherwise subject to indemnification by the Indemnifying Party. The
Indemnifying Party shall have the right to settle any claim for which
indemnification is available; provided, however, that to the extent that such
settlement requires the Indemnified Party to take or refrain from taking any
action or purports to obligate the Indemnified Party, then the Indemnifying
Party shall not settle such claim without the prior written consent of the
Indemnified Party, which consent shall not be unreasonably withheld,
conditioned or delayed.
- Term and Termination.
8.1 Term and Termination. The Term of this Agreement shall commence on the
Effective Date and shall continue for an initial term of thirteen (13) months
(the "Initial Term"). Thereafter, this Agreement shall automatically renew for
additional or successive period(s) of six (6) months each (each a "Renewal
Term" and collectively with the Initial Term, the "Term"), unless either Party
notifies the other Party in writing, on or prior to thirty (30) days before the
expiration of the Initial Term or any Renewal Term, of its intent to terminate
this Agreement at the conclusion of such Initial or Renewal Term.
8.2 Termination. This Agreement may be terminated: (i) by Licensor if Licensee
is delinquent in making payment of any License Fees or Additional Support Fees
(if applicable) due under this Agreement and continues to be delinquent for a
period of thirty (30) days after the last day on which such payment is due;
(ii) by either Party in the event a Party commits or permits any other breach
of this Agreement and shall fail to remedy such breach within thirty (30) days
after written notice of such breach is given by the non-breaching Party; (iii)
by either Party in the event a Party petitions for reorganization, readjustment
or rearrangement of its business or affairs under any laws or governmental
regulations relating to bankruptcy or insolvency, or is adjudicated a bankrupt
or if a receiver is appointed for either Party, or if either Party makes or
attempts an assignment for the benefit of creditors, or is unable to meet its
or their obligations in the normal course of business as they fall due; or (iv)
by either Party in the event a Party ceases to do business for any reason. Each
Party agrees to give the other Party prompt notice in accordance with Section
11.1 hereof if any of the conditions or events above occurs.
8.3 Termination During Trial Period. At any time prior to the expiration of the
Trail Period, either Party may terminate this Agreement immediately, with or
without cause, upon written notice to the other Party.
8.4 Effect of Termination. Upon any termination of this Agreement, Licensee (a)
will cease all use of the Licensed Technology (including, but not limited to,
any copies thereof), and (b) will immediately return to Licensor or (at
Licensor's request) destroy all copies of the Licensed Technology (including,
but not limited to, any copies thereof) in its possession or control. Except in
the event of termination by Licensor pursuant to Section 8.2, upon early
termination of this Agreement, Licensee shall be entitled to a prorated refund
for full months unused.
8.5 Survival of Obligations. The provisions of Sections 1 (Definitions), 5
(Fees; Taxes; Expenses), 6 (Proprietary Rights), 7 (No Warranty; Limitation of
Liability), 8 (Indemnification), 9.4 (Effect of Termination), 9.5 (Survival of
Obligations), 9.6 (Nonexclusive Remedy), 10 (Choice of Law) and 12 (General)
will survive termination of this Agreement for any reason.
8.6 Nonexclusive Remedy. The exercise by Licensor of any remedies under this
Agreement will be without prejudice to its other remedies under this Agreement
Choice of Law. This Agreement will be governed by and construed in
accordance with the laws of the state of California, excluding that body of law
applicable to conflict of laws. 10. Assignment. Licensee may not assign any
rights in the Licensed Technology, or delegate any duties hereunder, to any
person without Licensor's prior written consent, and any attempt to assign or
delegate without that consent will be void. Licensor may grant or withhold its
consent in its absolute discretion.
11.1 Notices. All notices shall be in writing and shall be deemed to be
delivered when received by certified mail, postage prepaid, return receipt
requested, or when sent by facsimile or e-mail confirmed by call back. All
notices shall be directed to the Parties at the respective addresses given
above or to such other address as either Party may, from time to time,
designate by notice to the other Party.
11.2 Severability. If any provision of this Agreement is found illegal or
unenforceable, it will be enforced to the maximum extent permissible, and the
legality and enforceability of the other provisions of this Agreement will not
11.3 Waiver. No failure of either Party to exercise or enforce any of its
rights under this Agreement will act as a waiver of such rights.
11.4 Complete Agreement. This Agreement, along with the attached Exhibit, is
the complete and exclusive agreement between the Parties with respect to the
subject matter hereof, superseding and replacing any and all prior agreements,
communications, and understandings (both written and oral) regarding such
11.5 Modifications. This Agreement may only be modified, or any rights under it
waived, by a written document executed by both Parties.
11.6 Attorneys' Fees; Injunctive Relief. With regard to any legal proceedings
arising under or in connection with this Agreement by any Party, the prevailing
Party will be entitled to recover its reasonable attorneys' fees, costs and
other related expenses. Licensee acknowledges that the disclosure of the
Licensed Technology (including all modifications, enhancements, derivatives and
other alterations) would cause substantial harm to Licensor that could not be
remedied by payment of damages alone. Accordingly, Licensor will be entitled to
preliminary and permanent injunctive relief and other equitable relief for any
breach of this Agreement.
11.8 Headings. All headings contained in this Agreement are for reference only,
and will have no meaning or effect with respect to any provisions of this
11.9 Cumulation of Remedies. All remedies available to a Party are cumulative
and may be exercised concurrently or separately; the exercise of any remedy
will not be deemed an election of such remedy to the exclusion of other
11.10 Full Power. Each Party warrants that it has full power to enter into and
perform this Agreement, and the person signing this Agreement on each Party's
behalf has been duly authorized and empowered to enter into this Agreement.
11.11 Relationship of the Parties. The relationship of the Parties hereto is
one of contract only, and in no event shall the Parties be construed as
partners, joint venturers, agents or principals of each other.
11.12 Counterparts. This Agreement may be executed simultaneously in two or
more counterparts, each of which will be considered an original, but all of
which together will constitute one and the same instrument.
ALL SOFTWARE IS PROTECTED BY UNITED STATES COPYRIGHT LAWS AND INTERNATIONAL
TREATY PROVISIONS. ANY UNAUTHORIZED REPRODUCTION OR REDISTRIBUTION OF THE
SOFTWARE IS EXPRESSLY PROHIBITED BY LAW, AND MAY RESULT IN SEVERE CIVIL AND