
This add-on is operated by Stackhero
RabbitMQ on dedicated instances, up-to-date versions and super attractive prices
Stackhero for RabbitMQ
Last updated February 01, 2022
Table of Contents
Stackhero for RabbitMQ provides a managed RabbitMQ running on a fully dedicated instance. It provides the following features:
- A private instance (dedicated VM)
- A dedicated public IP (v4)
- TLS encryption (aka SSL)
- An automatic backup every 24 hours
- One click to update to new RabbitMQ versions
- The ability to start some RabbitMQ plugins
- The access to AMQP, MQTT and STOMP protocols
Provisioning the Add-on
Stackhero for RabbitMQ can be attached to a Heroku application via the CLI:
A list of all plans available can be found here.
$ heroku addons:create ah-rabbitmq-stackhero --app <your app name>
-----> Adding ah-rabbitmq-stackhero to sharp-mountain-4005... done
After you provision Stackhero for RabbitMQ, the STACKHERO_RABBITMQ_HOST
, STACKHERO_RABBITMQ_USER
, and STACKHERO_RABBITMQ_PASSWORD
config variables are available in your app’s configuration. They contain the URL and credential to connect to your RabbitMQ instance.
Stackhero for RabbitMQ supports the following protocols:
- AMQP
- MQTT
- STOMP
Enable or disable them in your Stackhero dashboard.
Retrieve the URL for each protocol by reading the following environment variables:
- STACKHERO_RABBITMQ_AMQP_URL_TLS
- STACKHERO_RABBITMQ_MQTT_URL_TLS
- STACKHERO_RABBITMQ_STOMP_URL_TLS
You can see the content of these variables via the heroku config:get
command:
$ heroku config:get STACKHERO_RABBITMQ_AMQP_URL_TLS
$ heroku config:get STACKHERO_RABBITMQ_MQTT_URL_TLS
$ heroku config:get STACKHERO_RABBITMQ_STOMP_URL_TLS
Local Setup
After you provision the add-on, you must replicate its config variables locally.
Use the Heroku Local command-line tool to configure, run, and manage process types specified in your app’s Procfile. Heroku Local reads configuration variables from an .env
file. To view all of your app’s config variables, type heroku config
. Use the following command for each value you want to add to your .env
file:
heroku config:get <STACKHERO_MEMCACHED_VARIABLE> -s >> .env
For example:
$ heroku config:get STACKHERO_RABBITMQ_AMQP_URL_TLS -s >> .env
Don’t commit credentials and other sensitive configuration values to source-control. In Git, exclude the .env
file with: echo .env >> .gitignore
.
For more information, see Heroku Local.
Connect to Stackhero Dashboard
View your instance usage, restart it, and apply updates with the Stackhero dashboard. You can access the dashboard via the CLI:
$ heroku addons:open ah-rabbitmq-stackhero
Opening ah-rabbitmq-stackhero for sharp-mountain-4005
You can also visit the Heroku Dashboard, select your application, and then select Stackhero for RabbitMQ from the Add-ons menu.
Connecting to RabbitMQ
RabbitMQ uses the AMQP protocol. Select a client library that supports AMQP protocol.
Connect to your RabbitMQ instance with the STACKHERO_RABBITMQ_AMQP_URL_TLS
environment variable. It contains your instances host, port, and credentials.
Upgrading Your Plan
You can’t downgrade an existing add-on.
Use the heroku addons:upgrade
command to migrate to a new plan.
$ heroku addons:upgrade ah-rabbitmq-stackhero:newplan
-----> Upgrading ah-rabbitmq-stackhero:newplan to sharp-mountain-4005... done
Your plan has been updated to: ah-rabbitmq-stackhero:newplan
Manage migration timing to ensure your application is available during the migration process.
Removing the Add-on
You can remove Stackhero for RabbitMQ via the CLI:
This destroys all associated data and can’t be undone!
$ heroku addons:destroy ah-rabbitmq-stackhero
-----> Removing ah-rabbitmq-stackhero from sharp-mountain-4005... done
Support
Stackhero for RabbitMQ support and runtime issues should be submitted via one of the Heroku Support channels. We recommend adding support@stackhero.io in copy for urgent issues.
Additional Resources
- RabbitMQ documentation by Stackhero
- RabbitMQ managed cloud