/powify

Powify is an easy-to-use wrapper for 37 signal's pow

Primary LanguageRubyMIT LicenseMIT

Powify

Powify is a management tool for Pow by 37 signals. It allows you to easily install, update, and manage pow and pow applications seamlessly. To get started, read the installation section below.

Installation

Install powify using the gem command:

gem install powify

Important Notes

Powify assumes that your current working directory has the same basename as Pow app. For example, if my site was in:

/Users/sethvargo/Development/my_site

Powify would expect the name of the Pow app to also be my_site (the name of the symlink). This is the default behavior if you just use the command powify create. However, it's feasible that you would want a different name that the folder. If this is the case, you'll always need to specify the name of the application like this:

powify restart foo
powify destroy foo
powify move foo new_foo

FAQ

Q: But Seth, why don't you just search the ~/.pow directory and grab the symlink that points to the current directory?

A: Because it's inefficient and it could cause a problem if the same Pow apps are symlinked multiple times under different names, Powify could accidentally perform an operation on the wrong one.

Q: Why don't you just add a hidden file to the project directory when someone creates the app, then you'll know what the symlinked is named.

A: What happens when the same app is symlinked multiple times under a different name? I also hate when applications create files randomly on my hard drive.

Usage

SERVER COMMANDS
  powify server install            install pow server
  powify server reinstall          reinstall pow server
  powify server update             update pow server
  powify server uninstall          uninstall pow server
  powify server list               list all pow apps
  powify server start              start the pow server
  powify server stop               stop the pow server
  powify server restart            restart the pow server
  powify server host               adds all pow apps to /etc/hosts file
  powify server unhost             removes all pow apps from /etc/hosts file
  powify server status             print the current server status
  powify server config             print the current server configuration
  powify server logs               tails the pow server logs

UTILS COMMANDS
  powify utils install             install powify.dev server management tool
  powify utils reinstall           reinstall powify.dev server management tool
  powify utils uninstall           uninstall powify.dev server management tool

APP COMMANDS
  powify create [NAME]             creates a pow app from the current directory
  powify destroy [NAME]            destroys the pow app linked to the current directory
  powify restart [NAME]            restarts the pow app linked to the current directory
  powify always_restart [NAME]     reload the pow app after each request
  powify always_restart_off [NAME] do not reload the pow app after each request
  powify rename [NAME]             rename the pow app to [NAME]
  powify rename [OLD] [NEW]        rename the pow app [OLD] to [NEW]
  powify environment [ENV]         run the this pow app in a different environment (aliased `env`)
  powify browse [NAME]             opens and navigates the default browser to this app
  powify xip [NAME]                opens and navigates the default browser to this app on xip.io
  powify logs [NAME]               tail the application logs

Important Notes

The server commands for start and stop only stop the Pow process. They do not modify the existing firewall rules. If you need to disable the firewall rules, please uninstall and install to re-activate.

Contribution

If you would like to contribute, fork and send me a pull request.