Oban.Pro is delivered as a hex package named oban_pro, which is published privately to our self-hosted package repository.



  1. Ensure Oban is installed for your application. It's probably there already, but just in case, follow these instructions to get started.

  2. Ensure you're running Erlang/OTP v23.3.4.5, v24.0.4, or later. Older Erlang/OTP versions have an expired CA root certificate that doesn't work with Let's Encrypt certificates.

  3. Ensure you're running hex v1.0.0 or later, via mix local.hex --force



Before you can pull the package into your application you need to add a new oban hex repo. First, grab the OBAN_KEY_FINGERPRINT and OBAN_LICENSE_KEY from your account page.

Then, run the following mix hex.repo command:

mix hex.repo add oban \
  --fetch-public-key $OBAN_KEY_FINGERPRINT \
  --auth-key $OBAN_LICENSE_KEY

Authenticating Other Systems

You'll also need to authenticate on any other development machines, build servers and CI/CD instances. There are also guides to help with building Docker Images, authenticating on Gigalixir and Heroku.



Now that you're authenticated you're ready to add oban_pro as a dependency for your application. Open mix.exs and add the following line:

{:oban_pro, "~> 0.12", repo: "oban"}

Now fetch your dependencies:

$ mix deps.get

There isn't any direct configuration for Oban.Pro. Instead, you configure Oban to run an engine or plugins directly and use the various workers. At a minimum, you'll want to add the SmartEngine and DyanmicLifeline plugin to your Oban config in config.exs:

config :my_app, Oban,
  engine: Oban.Pro.Queue.SmartEngine,
  repo: MyApp.Repo,
  queues: [alpha: 10, gamma: 10, delta: 10],
  plugins: [Oban.Pro.Plugins.DynamicLifeline]

Now you're ready to start using the SmartEngine's features, various plugins, and workers!


Trouble installing? Have questions?

Take a look at the troubleshooting guide to see if your issue is covered. If not, or if you need any help, stop by the #oban channel in Elixir Slack.