Home

Awesome

The OneBusAway Application Suite Java CI with Maven Join the OneBusAway chat

A project of the non-profit Open Transit Software Foundation!

The OneBusAway application suite's primary function is to share real-time public transit information with riders across a variety of interfaces:

Watch the YouTube video for more information.

Getting Started

Here are the high-level steps you'll need to take to launch the OneBusAway mobile apps in your area:

  1. Get your schedule transit data in the GTFS format
  2. Have an AVL system that produces arrival estimates (Note: we're working removing this requirement - contact us if you're interested. Alternatively, you may be able to use other open-source projects, such as The Transit Clock, to go directly from raw vehicle locations to arrival times that are shared via GTFS-realtime and SIRI - this would replace Steps 2 and 3.)
  3. Implement a GTFS-realtime or SIRI real-time data feed (We also support other formats)
  4. Set up a OneBusAway server
  5. Do some quality-control testing of arrival times
  6. Request to be added as a OneBusAway region

See the multi-region page for more details.

Setting up a OneBusAway server

There are two options for setting up your own OneBusAway instance:

Development Instructions with Docker

docker compose up builder
docker compose exec builder bash # from another window or tab
./build.sh --help # acquaint yourself with the build.sh options
./build.sh --clean --check-updates --test

# now you have built all of the OBA artifacts:
ls build/org/onebusaway/onebusaway-application-modules

# Download GTFS data and build an OBA transit data bundle from it
docker compose up bundle_builder

# verify that the bundle built as expected
ls docker_app_server/bundle

# Start up the app server
docker compose up appserver

# enter the app server
docker compose exec appserver bash

# run the copy_resources.sh script (it's on your path)
# to copy the necessary WAR files into /usr/local/tomcat
copy_resources.sh

# wait a few seconds for everything to spin up...

Finally, verify that everything works as expected!

Deploy OneBusAway

Deployments

OneBusAway is used in a number of places:

Check out the full list on the OneBusAway Deployments page. Check out the main project page at http://onebusaway.org.

Download

Build and Deploy OBA Artifacts to Maven Central

  1. Set up your environment, including GPG
  2. Run the command mvn deploy -DskipTests
  3. Upload the Zip file at ./target/central-publishing/central-bundle.zip to Maven Central's publishing page.
    • The Zip file is about 600MB in size. Be sure to have a fast, reliable connection.

Open questions and issues:

Developer Information

Contact Info

There are lots of ways to get in touch with us.