You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
2.9 KiB
ReStructuredText
62 lines
2.9 KiB
ReStructuredText
Heroku
|
|
======
|
|
|
|
**Note**: Installations to Heroku require a local machine with some flavour of unix, as NodeBB does not run on Windows.
|
|
|
|
1. Download and install `Heroku Toolbelt <https://toolbelt.heroku.com/>`_ for your operating system
|
|
2. Log into your Heroku account: ``heroku login``
|
|
3. Verify your Heroku account by adding a credit card (at http://heroku.com/verify)
|
|
4. Clone the repository: ``git clone https://github.com/NodeBB/NodeBB.git /path/to/repo/clone``
|
|
5. ``cd /path/to/repo/clone``
|
|
6. Install dependencies locally ``npm install``
|
|
7. Create the heroku app: ``heroku create``
|
|
8. Enable WebSocket support (beta): ``heroku labs:enable websockets -a {APP_NAME}``, where ``{APP_NAME}`` is provided by Heroku, and looks something like ``adjective-noun-wxyz.herokuapp.com`` (NOTE: `See this doc <https://discussion.heroku.com/t/application-error/160>`_): drop the `.herokuapp.com` when entering ``{APP_NAME}`` above.
|
|
9. Enable `Redis To Go <https://addons.heroku.com/redistogo>`_ for your heroku account: ``heroku addons:add redistogo:nano``
|
|
10. 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.
|
|
* Specify "n" when asked if a port will be used. Heroku transparently proxies all requests.
|
|
* 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``
|
|
|
|
12. Add the following two packages to the ``dependencies`` section of your ``package.json``:
|
|
|
|
.. code:: json
|
|
|
|
"dependencies": {
|
|
...
|
|
"nodebb-plugin-dbsearch": "0.0.9",
|
|
"redis": "~0.10.1",
|
|
"connect-redis": "~1.4"
|
|
},
|
|
"devDependencies": {
|
|
|
|
13. Create a Procfile for Heroku: ``echo "web: node app.js" > Procfile``
|
|
14. Commit the Procfile:
|
|
|
|
.. code:: bash
|
|
|
|
git add -f Procfile config.json package.json && git commit -am "adding Procfile and configs for Heroku"
|
|
|
|
15. Push to heroku: ``git push heroku master``
|
|
* Ensure that a proper SSH key was added to your account, otherwise the push will not succeed!
|
|
16. Initialise a single dyno: ``heroku ps:scale web=1``
|
|
17. Visit your app!
|
|
|
|
If these instructions are unclear or if you run into trouble, please let us know by `filing an issue <https://github.com/NodeBB/NodeBB/issues>`_.
|
|
|
|
Keeping it up to date
|
|
---------------------
|
|
|
|
If you wish to pull the latest changes from the git repository to your Heroku app:
|
|
|
|
1. Navigate to your repository at ``/path/to/nodebb``
|
|
2. ``git pull``
|
|
3. ``npm install``
|
|
4. ``node app --upgrade``
|
|
5. ``git commit -am "upgrading to latest nodebb"``
|
|
6. ``git push heroku master``
|