Oban Web

Hex VersionHex DocsCI StatusApache 2 License

Oban Web is a view of Obanโ€™s inner workings that you host directly within your application. Powered by Oban Metrics and Phoenix Live View, it is distributed, lightweight, and fully realtime.

Features

Installation

See the installation guide for details on installing and configuring Oban Web for your application.

Standalone Docker Image

A standalone Docker image is available for monitoring Oban without embedding the dashboard in your application:

docker run -d \
  -e DATABASE_URL="postgres://user:pass@host:5432/myapp" \
  -p 4000:4000 \
  ghcr.io/oban-bg/oban-dash

See the standalone guide for configuration options and details.

Contributing

To run the Oban Web test suite you must have PostgreSQL 12+ and MySQL 8+ running. Once dependencies are installed, setup the databases and run necessary migrations:

mix test.setup

Development Server

For development, a single file server that generates a wide variety of fake jobs is built in:

iex -S mix dev

Python Development Workers

A Python development app is available that runs alongside the Elixir dev server, sharing the same database. Python workers use separate queues (inference, scraping, etl, webhooks, notifications, transcoding, maintenance) and are tagged with โ€œpythonโ€ for easy filtering in the dashboard.

First, install the Python dependencies (requires uv):

mix py.install

Then, with the Elixir dev server running in one terminal, start the Python workers in another:

mix py.dev

Alternatively, run directly from the py directory:

cd py && uv run py-dev

Testing with Oban Pro

Oban Pro is an optional dependency for development and testing. The test suite will automatically skip Pro-dependent tests (tagged with @tag :pro) when Oban Pro is not available.

To run tests with Pro features, youโ€™ll need access to a valid Oban Pro license. First, authorize with the Oban repository:

mix hex.repo add oban https://repo.oban.pro \
  --fetch-public-key SHA256:4/OSKi0NRF91QVVXlGAhb/BIMLnK8NHcx/EWs+aIWPc \
  --auth-key YOUR_AUTH_KEY

Then fetch dependencies and run the full test suite:

mix deps.get
mix test

To explicitly run tests without Oban Pro:

mix test --exclude pro

Community

There are a few places to connect and communicate with other Oban users: