GitXplorerGitXplorer
j

gow

public
2 stars
2 forks
1 issues

Commits

List of commits on branch master.
Unverified
37e8e4a0146ba841c1b47156dd63d8dbc61d0346

fmt

jjonasschneider committed 9 years ago
Unverified
3e24677c7964b92c571b913fa8a1a64ed2107812

factor out error page

jjonasschneider committed 9 years ago
Unverified
e8f3df3ee508a4cc9e496dbf314661c6f043290d

shorten tagline

jjonasschneider committed 9 years ago
Unverified
8604b10f9ac98ca150ff076188eea81b7f29623a

complain if resolv file is already present

jjonasschneider committed 9 years ago
Unverified
12ddb1b2b2ff948600aa8d19947828ada0440ef5

gofmt

jjonasschneider committed 9 years ago
Unverified
02cccb2fa4c92b510f5c390067167449cd99e640

add test for proxy

jjonasschneider committed 9 years ago

README

The README file for this repository.

Gow: A dev server for Procfile apps

Synopsis

Gow is a zero-config development application server for Mac OS X. Have it serving your apps locally in under a minute.

  # do you trust me? if not, clone and read!
$ curl https://raw.githubusercontent.com/jonasschneider/gow/master/dist/install.sh | sh
$ cd ~/.pow
$ ln -s /path/to/myapp myapp
$ open http://myapp.dev

Introduction

Pow is a simple tool to run development environments for systems composed of multiple Rack-based web applications and services. Transparently and zero-config, it sets up a wildcard <appname>.dev domain and manages the server processes for each application.

Gow generalises this approach beyond running Ruby apps. Gow runs any application with a Procfile (as pioneered by Heroku), no matter what language it's in. Simple. Unlike Pow, it also supports Websocket connections.

Internally, Gow works just like Pow, as a DNS server that resolves *.dev to its internal HTTP multiplexing proxy. Running an application under Gow works exactly the same: simply symlink it to ~/.pow/<appname>, and point your browser at http://<appname>.dev. However, while Pow looks for a config.ru file within the application's directory, Gow looks for a Procfile and starts a web process. All requests for the app are reverse-proxied to this process.

If you're on OS X, Gow provides Pow-like easy installation; run the provided dist/install.sh script to get started. On Linux, you might want to take a look at the install script for a snippet to run Gow under the init of your choice, and you'll have to mess with /etc/resolv.conf yourself.

Caveats

Since launchd's logging is kinda shitty/dysfunctional, Gow writes its own log file to ~/Library/Logs/gowd.log.

License

Gow shares no runtime code with Pow. However, portions of the installation and set-up scripts have been modified for Gow. Gow therefore shares Pow's license (see LICENSE).

Contributing

Patches welcome! The usual GitHub workflow applies.