Star  Watch  Fork  Follow  Issues

Installing Yaydoc on Heroku

Heroku is a cloud platform as a service (PaaS) that is used as a web application deployment model. The Yaydoc Web User Interface is a NodeJS application and Heroku makes it really easy to deploy and scale Node.js applications in the cloud.

One-click Heroku deployment


Manual Deployment

Even though we offer the One-click Heroku deployment, performing a manual deployment is also quite simple. There is a need to define certain Buildpacks and Environment Variables, after which the app can be successfully deployed.

Install Heroku on your local machine

  • If you have a linux based Operating Systems, type the following command in the terminal

    wget -qO- | sh

Note:- Details for other Operating Systems can be found at

Login to Heroku Server (Create an account if it doesn’t exist)

  • Type in the following command in your server, enter credentials and login

    heroku login

Deploy Yaydoc to Heroku

  • Clone the original yaydoc repository or your own fork and move to the directory of the cloned repository

    git clone<username>/yaydoc.git
    cd yaydoc/
  • Create a Heroku application using the following command

    heroku create <your-app-name>
  • Add buildpacks to the application using the following commands

    heroku buildpacks:set heroku/nodejs
    heroku buildpacks:add --index 2 heroku/python
    heroku buildpacks:add --index 3
    heroku buildpacks:add --index 4
    heroku buildpacks:add --index 5
  • Set the required Environment Variables using the following commands

    heroku config:set DEPLOYMENT=true
    heroku config:set GITHUB_CALLBACK_URL=https://<your-app-name>
    heroku config:set GITHUB_CLIENT_ID=<github-generated-client-id>
    heroku config:set GITHUB_CLIENT_SECRET=<github-generated-client-secret>
    heroku config:set HEROKU_CALLBACK_URL=https://<your-app-name>
    heroku config:set HEROKU_CLIENT_ID=<heroku-generated-client-id>
    heroku config:set HEROKU_CLIENT_SECRET=<heroku-generated-client-id>
    heroku config:set HOSTNAME=<your-app-name>
    heroku config:set MONGODB_URI=mongodb://<username>:<password><mlab-db-name>
    heroku config:set PYPANDOC_PANDOC=~/vendor/pandoc/bin/pandoc
    heroku config:set SECRET=<a-very-secret-token>
    heroku config:set SMTP_USERNAME=<smtp-username>
    heroku config:set SMTP_PASSWORD=<smtp-password>
    heroku config:set SMTP_HOST=<smtp-host>
    heroku config:set SMTP_PORT=<smtp-port>
  • Now deploy your code

    git push heroku master
  • Visit the app at the URL generated by its app name

    heroku open

Your app should be available at :