Heroku
Note: Installations to Heroku require a local machine with some flavour of unix, as NodeBB does not run on Windows.
- Download and install Heroku Toolbelt for your operating system
- Log into your Heroku account:
heroku login
- Verify your Heroku account by adding a credit card (at http://heroku.com/verify)
- Clone the repository:
git clone https://github.com/NodeBB/NodeBB.git /path/to/repo/clone
cd /path/to/repo/clone
- Install dependencies locally
npm install
- Create the heroku app:
heroku create
- Enable WebSocket support (beta):
heroku labs:enable websockets -a {APP_NAME}
, where{APP_NAME}
is provided by Heroku, and looks something likeadjective-noun-wxyz.herokuapp.com
(NOTE: See this doc): drop the .herokuapp.com when entering{APP_NAME}
above. - Enable Redis To Go for your heroku account:
heroku addons:add redistogo:nano
Run the NodeBB setup script:
node app --setup
(information for your Heroku server and Redis to Go instance can be found in your account page)- Your server name is found in your Heroku app’s “settings” page, and looks something like
adjective-noun-wxyz.herokuapp.com
- Use any port number. It will be ignored.
- Your redis server can be found as part of the redis url. For example, for the url:
redis://redistogo:h28h3wgh37fns7@crestfish.redistogo.com:12345/
- The server is
fishyfish.redistogo.com
- The port is
12345
- The password is
h28h3wgh37fns7
- Your server name is found in your Heroku app’s “settings” page, and looks something like
Add the following two packages to the
dependencies
section of yourpackage.json
:
"dependencies": {
...
"nodebb-plugin-dbsearch": "0.0.10",
"redis": "~0.10.1",
"connect-redis": "~2.0.0"
},
"devDependencies": {
- Create a Procfile for Heroku:
echo "web: node app.js" > Procfile
- Commit the Procfile:
git add -f Procfile config.json package.json && git commit -am "adding Procfile and configs for Heroku"
- Push to heroku:
git push heroku master
* Ensure that a proper SSH key was added to your account, otherwise the push will not succeed! - Initialise a single dyno:
heroku ps:scale web=1
- Visit your app!
If these instructions are unclear or if you run into trouble, please let us know by filing an issue.
Keeping it up to date
If you wish to pull the latest changes from the git repository to your Heroku app:
- Navigate to your repository at
/path/to/nodebb
git pull
npm install
node app --upgrade
git commit -am "upgrading to latest nodebb"
git push heroku master