Linux-only offline transit desktop app, built around a portable usb-bundle/ workflow. Forked from motis-project/motis) with significant changes to code and program architecture.
Current divergence against upstream (motis-project/motis, merge-base 6eb08ad8, 2026-02-03; upstream master last fetched at d3aeade3, 2026-02-15):
155 files changed18,838 insertions2,612 deletions+16,226 net lines
This quantifies the code-level migration from upstream server-first workflows toward the portable USB-first Linux application model used in this fork. It is presented here to give perspective to the scale of refactoring this project has required.
- Runtime model: Tauri UI +
motis://protocol +motis-ipcbackend process. - No localhost fallback in native runtime.
- Deployment target:
usb-bundle/(portable launcher + native binaries + UI assets). - This fork is primarily written by OpenAI Codex with human direction/review.
Preferred:
- download the latest prebuilt bundle artifact from GitHub Releases when available.
Fallback (build locally):
git clone https://github.com/escapables/motis-portable.git
cd motis-portable
./gui-svelte/build-usb.shThe local build requires an internet connection to satisfy certain dependencies, unless they are already cached (see Troubleshooting section).
cd usb-bundle
./motis-import.sh /path/to/gtfs.zip /path/to/region.osm.pbfNotes:
- Use files that cover the same geographic area.
- Keep GTFS zipped (
.zip), do not unpack manually for this script.
./RUN.shWhen building from clone with ./gui-svelte/build-usb.sh, it compiles/builds:
- Svelte frontend bundle (
ui/build) - MOTIS core binary (
build/motisorbuild/motis-transit) - IPC bridge binary (
build/native/motis-ipc) - Tauri desktop binary (
gui-svelte/src-tauri/target/release/motis-gui-svelte)
Then it assembles usb-bundle/ with launcher/import scripts and runtime files.
usb-bundle/ contains:
motis-gui-sveltemotis-ipcmotisRUN.shmotis-import.shsweden-route-fix.luaui/data/(imported by user)
Missing .../data/config.yml: run import first:./motis-import.sh <gtfs.zip> <osm.pbf>.Permission deniedwhen running binary from USB: run through launcher:./RUN.sh.- Build-only issue:
try
./gui-svelte/build-usb.sh --skip-pnpm-installor--offlineif dependencies are already cached.
- Docs index:
docs/README.md - Validate docs:
./bin/validate-docs - Local gate:
./bin/test-gate
motis-project/motis: https://github.com/motis-project/motis