Heroku UniLink Production deployment guide
Deploying on Heroku
:::Note
Heroku has discontinued free dynos, postgres and redis. https://blog.heroku.com/new-low-cost-plans
UniLink will switch to using basic/mini plans for all new heroku deployments going forward.
:::
Deploy chatwoot on Heroku through the following steps
- Click on the one click deploy button and deploy your app.
- Go to the Resources tab in the Heroku app dashboard and ensure the worker dynos is turned on.
- Head over to settings tabs in Heroku app dashboard and click reveal config vars.
- Configure the environment variables for mailer and storage as per the documentation.
- Head over to
yourapp.herokuapp.com
and enjoy using UniLink.
Updating the deployment on Heroku
Whenever a new version is out for chatwoot, you update your Heroku deployment through following steps.
- In the deploy tab, choose
Github
as the deployment option. - Connect chatwoot repo to the app.
- Head over to the manual deploy option, choose
master
branch and hit deploy.
Known Limitations
If you are on a free tier and you don’t access the application for a while Heroku will put your dynos to sleep. You can fix this by upgrading the dynos to paid tier.
Heroku has an "ephemeral" hard disk. The files uploaded to UniLink would not persist after the application is restarted. By default, UniLink uses local disk as the upload destination. To overcome this problem, you will have to configure a cloud storage.
If the build version is shown as unknown on the settings page, enable the runtime dyno metadata feature. To enable, use
heroku labs:enable runtime-dyno-metadata -a <app-name>
.