Installation

This section describes how to setup a server similar to the demo server but without real-time updates.

Data Download

To run your own MOTIS instance, you need an OpenStreetMap dataset and a timetable in either the GTFS or the HAFAS Rohdaten format. Note that currently, MOTIS supports only certain HAFAS Rohdaten versions (notably a version in use at Deutsche Bahn, the AVV version as well the one provided at opentransportdata.swiss) and not all GTFS features.

  • Download the latest OpenStreetMap dataset for Switzerland in the “.osm.pbf” format from geofabrik.de and put it into your data folder.
  • Download the latest dataset HAFAS Rohdaten (version 5.20.39 - “Timetable 202x (HRDF)” not version 5.40) dataset from opentransportdata.swiss and extract it into your data/hrd folder.

Linux Installation Guide

Tested on Ubuntu 18.04.

  • Step 1: Download the MOTIS distribution from here and extract it. The directory structure must look exactly like the one shown on the right.
  • Start MOTIS: ./motis/motis and visit http://localhost:8080.

Windows Installation Guide

Tested on Windows 10.

  • Step 1: Download the MOTIS distribution from here and extract it. The directory structure must look exactly like the one shown on the right.
  • Start MOTIS: motis\motis.exe and visit http://localhost:8080.
config.ini
server.static_path=motis/web

[import]
paths=schedule:data/hrd
paths=osm:data/switzerland-latest.osm.pbf
data_dir=data

[osrm]
profiles=motis/osrm-profiles/car.lua
profiles=motis/osrm-profiles/bike.lua
profiles=motis/osrm-profiles/bus.lua

[ppr]
profile=motis/ppr-profiles/default.json

[tiles]
profile=motis/tiles-profiles/background.lua
Install Directory
.
├── motis
├── osrm-profiles
│   ├── bike.lua
│   ├── bus.lua
│   ├── car.lua
│   ├── examples
│   │   └── postgis.lua
│   ├── foot.lua
│   ├── lib
│   │   ├── access.lua
│   │   ├── destination.lua
│   │   └── maxspeed.lua
│   ├── rasterbotinterp.lua
│   ├── rasterbot.lua
│   ├── testbot.lua
│   └── turnbot.lua
├── ppr-profiles
│   ├── accessibility1.json
│   ├── default.json
│   ├── distance_only.json
│   ├── elevation.json
│   ├── no_crossing_detours.json
│   └── wheelchair.json
├── tiles-profiles
│   ├── background.lua
│   └── profile.lua
└── web
    ├── CMakeLists.txt
    ├── elm.js
    ├── elm-package.json
    ├── external_lib
    │   ├── deep-equal.js
    │   ├── gl-matrix-min.js
    │   ├── grid
    │   │   ├── grids-gutters.css
    │   │   ├── grids-min.css
    │   │   └── grids-responsive-min.css
    │   ├── mapbox-gl.css
    │   ├── mapbox-gl.js
    │   ├── mapbox-gl.js.map
    │   └── polyline.js
    ├── favicon.ico
    ├── img
    │   ├── marker_destination.png
    │   ├── marker_destination.svg
    │   ├── marker_origin.png
    │   └── marker_origin.svg
    ├── index.html
    ├── js
    │   ├── main.js
    │   ├── map.js
    │   ├── map_style.js
    │   └── railviz
    │       ├── api.js
    │       ├── connectionmgr.js
    │       ├── main.js
    │       ├── markers.js
    │       ├── model.js
    │       ├── path_base.js
    │       ├── path_connections.js
    │       ├── path_detail.js
    │       ├── path_extra.js
    │       ├── render.js
    │       ├── style.js
    │       ├── textures.js
    │       ├── trains.js
    │       └── webgl.js
    ├── modd.conf
    ├── package.json
    ├── package-lock.json
    ├── README.md
    └── style
        ├── app.css
        ├── button.css
        ├── calendar.css
        ├── fonts
        │   ├── MaterialIcons-Regular.woff
        │   ├── MaterialIcons-Regular.woff2
        │   ├── roboto-v15-latin-300.woff
        │   ├── roboto-v15-latin-300.woff2
        │   ├── roboto-v15-latin-700.woff
        │   ├── roboto-v15-latin-700.woff2
        │   ├── roboto-v15-latin-regular.woff
        │   └── roboto-v15-latin-regular.woff2
        ├── global.css
        ├── input.css
        ├── search-form.css
        ├── spinner.css
        ├── taglist.css
        ├── time.css
        ├── transport-graph.css
        └── typeahead.css