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

Now your local environment is configured to pull from the oban repo!

Authenticating For Production

There are individual guides to help with building Docker Images, authenticating on Gigalixir, and Heroku.

Authenticating For CI

You'll also need to authenticate on any other development machines, build servers and CI/CD instances. For example, to authorize for GitHub Actions (or any other YAML based CI service) using secrets storage:

- name: Authorize Oban
  run: |
    mix hex.repo add oban \
      --fetch-public-key ${{secrets.oban_key_fingerprint}} \
      --auth-key ${{secrets.oban_license_key}}



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"}

Then fetch your dependencies:

$ mix deps.get

That's it! Pro is installed and you can start using extensions, plugins, and workers. Continue on to adoption and learn how to get the most out of Pro.