You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+
## Overview
6
+
7
+
This repository contains Docker images for running OneBusAway Application Suite v2, a transit data platform. The system consists of three main components:
8
+
9
+
1.**Bundler Service**: Processes GTFS data and creates transit data bundles
10
+
2.**OBA App Service**: Runs the OneBusAway API and transit data federation webapps
11
+
3.**Database Service**: MySQL (default) or PostgreSQL for storing application data
12
+
13
+
## Common Commands
14
+
15
+
### Building and Running
16
+
17
+
```bash
18
+
# Build the app server
19
+
docker compose build oba_app
20
+
21
+
# Build a bundle with custom GTFS
22
+
GTFS_URL=https://example.com/gtfs.zip docker compose up oba_bundler
23
+
24
+
# Build with default test data (Unitrans)
25
+
docker compose up oba_bundler
26
+
27
+
# Run the OBA server
28
+
docker compose up oba_app
29
+
30
+
# Run validation tests
31
+
./bin/validate.sh
32
+
33
+
# Clean up
34
+
docker compose down -v
35
+
```
36
+
37
+
### Testing
38
+
39
+
```bash
40
+
# Run validation script to test API endpoints
41
+
./bin/validate.sh
42
+
43
+
# Build and test Docker images locally
44
+
docker compose build
45
+
docker compose up
46
+
```
47
+
48
+
## Architecture
49
+
50
+
### Directory Structure
51
+
52
+
-`/bundler/`: Docker setup for building transit data bundles from GTFS feeds
53
+
- Uses Maven to fetch OneBusAway dependencies
54
+
- Includes gtfstidy for cleaning/optimizing GTFS data
55
+
- Outputs to `/bundle/` directory
56
+
57
+
-`/oba/`: Docker setup for the OneBusAway application server
58
+
- Runs on Tomcat 8.5 with Java 11
59
+
- Template-based configuration for database connections
60
+
- Supports GTFS-RT feeds
61
+
- Includes Prometheus JMX exporter for monitoring
62
+
63
+
-`/bundle/`: Shared volume containing processed transit data
64
+
- Contains serialized Java objects (.obj files)
65
+
- Lucene search indices
66
+
- Processed GTFS data
67
+
68
+
### Key Technologies
69
+
70
+
-**Build System**: Maven-based Java project
71
+
-**OneBusAway Version**: v2.6.0 (configurable via OBA_VERSION)
Copy file name to clipboardExpand all lines: README.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -63,6 +63,10 @@ You will then have two web apps available:
63
63
64
64
When done using this web server, you can use the shell-standard `^C` to exit out and turn it off. If issues persist across runs, you can try using `docker compose down -v` and then `docker compose up oba_app` to refresh the Docker containers and services.
65
65
66
+
### Using local GTFS files
67
+
68
+
If you have a local GTFS file instead of downloading from a URL, see the [`example-local-gtfs/`](example-local-gtfs/) directory for a complete example that demonstrates how to build bundles using local GTFS files.
69
+
66
70
### Inspecting the database
67
71
68
72
The Docker Compose database service should remain up after a call of `docker compose up oba_app`. Otherwise, you can always invoke it using `docker compose up oba_database`.
0 commit comments