Skip to content

Commit

Permalink
update docs to refer to npm On-Site rather than Enterprise
Browse files Browse the repository at this point in the history
  • Loading branch information
bcoe authored and ashleygwilliams committed Nov 14, 2015
1 parent 722cd5b commit 52947dd
Show file tree
Hide file tree
Showing 15 changed files with 123 additions and 142 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ The place where all things npm are documented.
All the markdown files can be found in the [content](content) directory. Some of these files live here in this repository, others live in other repositories and are imported during the build process. These imported files are [ignored by git](.gitignore) to prevent people from accidentally editing the wrong files.

- [cli](https://github.com/npm/npm/tree/master/doc/cli) is copied from [npm](https://github.com/npm/npm/tree/master/doc/api).
- [enterprise](content/enterprise) lives in this repo.
- [onsite](content/enterprise) lives in this repo.
- [files](https://github.com/npm/npm/tree/master/doc/files) is copied from npm.
- [misc](https://github.com/npm/npm/tree/master/doc/misc) is copied from npm.

Expand Down
2 changes: 1 addition & 1 deletion content/company/security.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ For more information about how we handle your personal data, you may wish to rev

## Higher Levels of security

For firms interested in greater levels of physical and operational security, [npm Enterprise](/enterprise) is a self-hosted version of the npm Registry that allows total control of the operation and policies of the registry.
For firms interested in greater levels of physical and operational security, [npm On-Site](/enterprise) is a self-hosted version of the npm Registry that allows total control of the operation and policies of the registry.

## Contact Us

Expand Down
25 changes: 14 additions & 11 deletions content/enterprise/client-configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,47 +6,50 @@ featured: true

# Configuring the client

The client you use to interact with your npm Enterprise server is the same client that you use with the public npm registry.
The client you use to interact with your npm On-Site server is the same client that you use with the public npm registry.

## Install the latest npm client

npm Enterprise requires a 2.x version of the npm client. You can get this
by running
npm On-Site requires a 2.x or newer version of the npm client. You can get this by running

```bash
[sudo] npm install npm -g
```

## Pointing your client to the registry

Once you have an up-to-date client, you can configure it to install from and publish to your private npm Enterprise registry.
Once you have an up-to-date client, you can configure it to install from and publish to your private npm On-Site registry.

### Using your private registry for all packages

If you want all packages, whether they are under a scope or not, to be stored in your private registry, then
you should configure the npm client to use your private npm Enterprise appliance as the top
you should configure the npm client to use your private npm On-Site appliance as the top
level registry. To do this, use the `--registry` flag without the `--@scope` flag.

```bash
npm login --registry=http://myreg.mycompany.com
npm login --registry=http://myreg.mycompany.com:8080
```

When clients are configured this way, they will always use your private npm Enterprise registry as their main registry. When using `npm install`, it will only look in the private registry to find the package. This can lead to problems if you haven't mirrored all of the packages that your users need from the public registry.
When clients are configured this way, they will always use your private npm On-Site registry as their main registry. When using `npm install`, it will only look in the private registry to find the package. This can lead to problems if you haven't mirrored all of the packages that your users need from the public registry.

To make life easier for your users, you can configure npm Enterprise to automatically mirror a package from public registry when the user tries to install a package that is not yet mirrored. The package will also be added to the whitelist.
To make life easier for your users, you can configure npm On-Site to automatically mirror a package from public registry when the user tries to install a package that is not yet mirrored. The package will also be added to the whitelist.

To do this, add the line `"--read-through-cache": "true"` to the `args` in your `service.json` file.
To do this, set `Read through cache` to `Yes` in the npm On-Site
admin console (_http://myreg.mycompany.com:8800_)

### Using your private registry for your scoped packages

If you want to default to using the public npm registry for most packages and only use your private registry for packages under a particular scope, then you can specify that the registry should only be used for that scope.

```bash
npm login --registry=http://myreg.mycompany.com --scope=@myco
npm login --registry=http://myreg.mycompany.com:8080 --scope=@myco
```

## Logging in

The `npm login` command will prompt you for your credentials. By default, these will be your GitHub or GitHub Enterprise credentials.

You can configure the server to use different authentication. You can read more about the default authentication configuration and how to configure different authentication.
You should configure npm On-Site in the admin console to point to your
GitHub Enterprise server. Read more about our [GitHub Enterprise Integration](/enterprise/github).

Read about how to configure custom authentication [here](/enterprise/custom-authentication).
7 changes: 7 additions & 0 deletions content/enterprise/custom-authentication.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,10 @@ in a [post on our blog](http://blog.npmjs.org/post/102037553745/writing-your-own

In addition to that, our GitHub integration is open source and available on
[GitHub](https://github.com/npm/npme-auth-github).

To enable a custom authentication strategy:

1. on your npm On-Site server, install the plugin in `/usr/local/lib/npme/data`
2. visit your npm On-Site server's admin console (_http://myreg.mycompany.com:8800_).
3. choose `Custom` authentication.
4. for `authentication`, `authorization`, and `session` provide the path to the plugin you've installed, e.g, `/etc/npme/data/node_modules/my-custom-plugin`
17 changes: 11 additions & 6 deletions content/enterprise/github.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ featured: true

## Integrates with GitHub and GitHub Enterprise

If your organization uses GitHub or GitHub Enterprise, npmE can be configured
If your organization uses GitHub or GitHub Enterprise, npm On-Site can be configured
to automatically use them for login and access control. Simply add a
repository field to your package.json that points to your repo:

Expand All @@ -20,13 +20,18 @@ repository field to your package.json that points to your repo:
}
```

Depending on your configuration, npmE can restrict installation of your
package to users who have access to the repo for that package, and restrict
npm On-Site restricts installation of your
package to users who have access to the repo for that package, and restricts
publishing of that package to users who have commit access to the repo.

npmE uses OAuth to interact with GitHub, and will support any other OAuth2
providers. A standalone solution for authentication and authorization is
coming soon.
## Pointing at your GitHub Enterprise appliance

To point npm On-Site at your GitHub Enterprise appliance:

1. visit the admin console at _http://myreg.mycompany.com:8800_
2. choose `GitHub` as the authentication strategy.
3. choose `GitHub Enterprise`.
4. enter your GitHub Enterprise appliance's host and scheme.

## Logging in with two-factor authentication

Expand Down
12 changes: 6 additions & 6 deletions content/enterprise/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,20 @@ title: Introduction
featured: true
-->

# npm Enterprise
# npm On-Site

npm Enterprise is an on-premises solution for securely sharing and distributing
JavaScript modules within your organization, from the team that maintains npm
and the public npm registry. It's designed for teams that need:
npm On-Site allows you to run npm's infrastructure behind your
company's firewall. It's designed for teams that need:

- easy internal sharing of private modules
- better control of development and deployment workflow
- stricter security around deploying open-source modules
- compliance with legal requirements to host code on-premises
- better code discovery and sharing within their organization.

## npmE is private npm
## npm On-Site is npm

npmE is an npm registry that works with the same standard npm client you
npm On-Site is the same codebase that powers the public registry, it works with the same standard npm client you
already use, but provides the features needed by larger organizations who are
now enthusiastically adopting node. It's built by npm, Inc., the sponsor of
the npm open source project and the host of the public npm registry.
39 changes: 6 additions & 33 deletions content/enterprise/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,44 +4,17 @@ title: Installing the server
featured: true
-->

# Installing the npm Enterprise server
# Installing the npm On-Site server

npmE runs locally, on a server you control, with no external dependencies. Many organizations want this for security, regulatory, or operational reasons.
npm On-Site runs locally, on a server you control, with no external dependencies. Many organizations want this for security, regulatory, or operational reasons.

## Server setup

Follow the instructions in the [quickstart video](/enterprise/intro), or do the following:

1. [Sign up for a trial license](http://www.npmjs.org/enterprise#contact) for npm Enterprise.
1. Make sure you have a machine that meets the [installation requirements](/enterprise/requirements). It can also be run in a [Docker container](https://github.com/npm/npme-docker).
1. On the server, run ```npm install npme```. Do NOT run using `sudo`.
1. [Sign up for a trial license](http://www.npmjs.org/onsite#contact) for npm On-Site.
2. Make sure you have a machine that meets the [installation requirements](/enterprise/requirements).
3. On the server, run ```sudo npm install npmo -g --unsafe```.
4. visit _http://myreg.mycompany.com:8800_, to configure your instance.

The installation process will require your billing email and the license key you received during signup.

## Installation questions

The `npme` installer will ask you a series of questions as it configures your
machine.

<dl>
<dt>[sudo] password for *user*</dt>
<dd>Your system is requesting the system admin password. The installer must run as root.</dd>
<dt>this will install npmE on the server (you should only run this on a dedicated machine), continue?</dt>
<dd>The installer assumes npm Enterprise (npmE) is the only service running on the
machine. If you have other services that use the same ports as npmE you may run
into errors.</dd>
<dt>enter your billing email</dt>
<dd>This is the email address you used to sign up for the trial. It does not need
to be an npm user.</dd>
<dt>enter your license key</dt>
<dd>You received this via email when you signed up for the trial. It looks like
`xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`.</dd>
<dt>full URL of front-facing host that npm Enterprise will run on. Include 'http' and ':8080'</dt>
<dd>This URL needs to be accessible from your users' machines and also accessible to the appliance itself. It must include the port number, e.g. `http://registry.example.com:8080`</dd>
<dt>path to package whitelist used by public registry follower</dt>
<dd>The location of the whitelist file. This defaults to `/etc/npme/whitelist` and you should not need to change this.</dd>
<dt>full URL of your GitHub Enterprise appliance</dt>
<dd>The URL of your GitHub Enterprise appliance. This defaults to using GitHub itself.</dd>
<dt>folder on HD to store package binaries</dt>
<dd>The location to store the npm Enterprise binaries. This defaults to `/etc/npme/packages` and you should not need to change this.</dd>
</dl>
Loading

0 comments on commit 52947dd

Please sign in to comment.