Skip to content

typicode/minihost

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

minihost Build Status npm version

When working with many dev servers, you have to increment and remember ports (e.g. http://localhost:3000, http://localhost:4000, ...).

With minihost, you don't have to think about that.

Works on Windows, Linux and OS X.

Usage

Install:

npm install -g minihost

Prefix your commands with h:

~/one$ h -- nodemon
~/two$ h -- npm start

You can then view your running servers on http://localhost:2000 and access them locally on http://<name>*:2000 using any host that resolves to 127.0.0.1.

For example:

# Using dnsmasq and a local .dev domain
# Or /etc/hosts
http://one.dev:2000
http://two.dev:2000

Public wildcard domain names that resolves to 127.0.0.1 are also supported and can be used without any system configuration:

# See til.io
http://one.til.io:2000
http://two.til.io:2000

# See xip.io
http://one.127.0.0.1.xip.io:2000
http://two.127.0.0.1.xip.io:2000

To set a custom name, add -n:

~/one$ h -n app -- nodemon

To set a custom port environment variable name (instead of default PORT), add it after colon in custom name:

~/one$ h -n app:APP_PORT -- nodemon

To enable multiple names and ports repeat -n option:

~/one$ h -n app1:APP1_PORT -n app2:APP_PORT1 -- nodemon

If custom env variable names for ports not defined, PORT_0, PORT_1, ... will be used.

To change the port minihost listens to, run:

echo 8000 > ~/.minihost

Supporting minihost

For minihost to work, your server need to listen on the PORT environment variable.

From your code:

// KO
app.listen(3000);

// OK
app.listen(process.env.PORT || 3000);

Or from the command-line:

h -- 'cmd -p $PORT'  # Linux, OS X
h -- "cmd -p %PORT%" # Windows

License

MIT - Typicode

About

Easily start and access servers

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •