Creating a new Hoodie App
Installation
Please refer to the install guides for OS X, Linux and Windows.
Plugins
To install a specific plugin, run (in your app's directory):
$ hoodie install <name>
where <name>
is one of the Hoodie Plugin.
To uninstall use:
$ hoodie uninstall <name>
List of Hoodie Plugins
-
users (installed by default)
- user sign up
- user sign in
- password forget
- change username
- change password
-
email (installed by default)
- send multipart emails
Troubleshooting
Make sure that local-tld got installed correctly
$ NODE_PATH=`npm root -g`
$ open $NODE_PATH/local-tld
Make sure that paths have been set correctly
$ echo $NODE_PATH
$ cat ~/Library/LaunchAgents/ie.hood.local-tld-service.plist
In some situations, you may need to manually update ~/Library/LaunchAgents/ie.hood.local-tld-service.plist
to correctly source your Node installation, particularly if you are using a Node version manager, such as nvm
.
Check the output of $ cat ~/Library/LaunchAgents/ie.hood.local-tld-service.plist
for the following:
<key>ProgramArguments</key>
<array>
<string>should equal the output of `$ which node`</string>
<string>should equal the output of `$ echo $NODE_PATH` + /local-tld/bin/local-tld-service</string>
</array>
If these values aren't correct, you'll need to open ~/Library/LaunchAgents/ie.hood.local-tld-service.plist
in a text editor and update the file with the aforementioned values.
If things do not work, try:
$ launchctl unload ~/Library/LaunchAgents/ie.hood.local-tld-service.plist
$ launchctl load -Fw ~/Library/LaunchAgents/ie.hood.local-tld-service.plist
If things STILL don't work, try that (but don't tell Jan) ((I saw this! — Jan))
$ sudo $NODE_PATH/local-tld/bin/local-tld-troubleshoot
Vhosts
If you find Hoodie interfering with your vhosts, here's a temporary workaround:
To get your vhosts back: $ sudo ipfw flush
To get local-tld back: $ npm install -g local-tld
To find out which state you're in: $ sudo ipfw list
If this includes something like "00100 fwd 127.0.0.1,5999 tcp from any to me dst-port 80 in", local-tld is currently running and might be blocking your vhosts.
Deploy to Nodejitsu
You need a Nodejitsu account and the jitsu
tool installed.
Create a new hoodie app:
$ hoodie new myapp
Start app locally:
$ cd myapp
$ hoodie start
Create a database:
$ jitsu database create couch myapp
This prints out the URL for your database, something like:
http://nodejitsudb123456789.iriscouch.com:5984
Go to:
http://nodejitsudb123456789.iriscouch.com:5984/_utils
In the bottom right, click on "Fix This". Create a new user with the username admin
and a password of your choice. Remember the password.
Create the Nodejitsu app.
$ jitsu apps create
Set your database URL as an environment variable:
$ jitsu env set COUCH_URL http://nodejitsudb1234567890.iriscouch.com:5984
$ jitsu env set HOODIE_ADMIN_USER admin
$ jitsu env set HOODIE_ADMIN_PASS <yourpassword>
<yourpassword>
is the one you set up two steps ago.
Deploy!
$ jitsu deploy
(wait a minute)
Go to: http://myapp.jit.su
Boom.