# dockmaster

> Vhost middleware router for Distribute that uses Seaport to intelligently route requests

Latest version **0.4.0** (published 2013-07-21) · BSD license · 0 weekly downloads

## Install

```sh
npm install dockmaster
pnpm add dockmaster
yarn add dockmaster
bun add dockmaster
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.4.0 |
| Published | 2013-07-21 |
| First published | 2013-06-20 |
| Weekly downloads | 0 |
| License | BSD |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Known vulnerabilities | 0 (+7 in 2 direct dependencies) |
| Install scripts | no |
| GitHub stars | 2 |
| Author | Coen Hyde |
| Maintainers | coen-hyde |
| Keywords | Distribute, Seaport, Vhost, router, middleware |

## Links

- npm: https://www.npmjs.com/package/dockmaster
- Repository: https://github.com/coen-hyde/dockmaster
- Issues: https://github.com/coen-hyde/dockmaster/issues
- npm.io page: https://npm.io/package/dockmaster

## Dependencies (3)

- [async](https://npm.io/package/async.md) ~0.2.9
- [debug](https://npm.io/package/debug.md) ~0.7.2
- [lodash](https://npm.io/package/lodash.md) ~1.3.1

## Alternatives

- [express-promise-router](https://npm.io/package/express-promise-router.md) — 736.1K weekly downloads
- [next-usequerystate](https://npm.io/package/next-usequerystate.md) — 29.8K weekly downloads
- [@bitkyc08/opencodex](https://npm.io/package/@bitkyc08/opencodex.md) — 4.6K weekly downloads
- [lynkr](https://npm.io/package/lynkr.md) — 575 weekly downloads
- [baremetal.js](https://npm.io/package/baremetal.js.md) — 42 weekly downloads

## Recent versions

- 0.4.0 (latest) — 2013-07-21
- 0.3.0 — 2013-06-20
- 0.2.0 — 2013-06-20
- 0.1.2 — 2013-06-20
- 0.1.1 — 2013-06-20

## README

Dockmaster
==========

Dockmaster is a vhost middleware router for Distribute that uses Seaport to intelligently route requests.

![npm tag](https://nodei.co/npm/dockmaster.png)

Usage
-------

### Router
```js
var http = require('http')
  , distribute = require('distribute')
  , seaport = require('seaport')
  , dockmaster = require('dockmaster');

// Connect to the Seaport server
var ports = require('seaport').connect(5000);

/*
 * Create the httpServer and register it with Seaport. 
 * The noroute attribute passed to seaport will prevent Docmaster routing to its self.
 */
var httpServer = http.createServer().listen(
  ports.register('router', {noroute: true})
);

// Wrap the httpServer with distribute
var router = distribute(httpServer);

// Use the Dockmaster middleware
router.use(dockmaster(ports));
```

### Applications
For the above router to route to your apps you will need to register your applications with Seaport. As so:

```js
var http = require('http')
  , express = require('express')
  , seaport = require('seaport');

// Connect to the Seaport server
var ports = require('seaport').connect(5000);

// Create your app and register it with Seaport
var app = express();
app.listen(ports.register('myapp', { domains: ['myapp.domain'] }));
```

You can also mount applications on paths so you can have multiple applications sharing the same domain.

```js
var app = express();
app.listen(ports.register('myapp', { domains: ['myapp.domain'], mount: '/admin' }));
```

License
-------

MIT

---
_Source: https://npm.io/package/dockmaster · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
