TRIP is a web-based application supporting trip recording and itinerary planning
1.6K
Trip Server 2 is a C++ and JavaScript port of Trip Server v1, an AngularJS application.
See the application's README for the latest state of development.
TRIP is a web application supporting trip recording and itinerary planning.
The intended use is for a hiker, mountain-biker or other adventurer, to be able to publish and share their planned itinerary, then subsequently log their positions at intervals, allowing someone else to monitor their progress.
In the event of contact being lost, the plans and tracking information can be passed to rescue services etc., to assist with locating the missing adventurer.
Trip Server 2 is a port of [Trip Server v1][trip-server], written mostly in C++. It can be run alongside an existing Trip Server version 1.11.x installation.
The following features have been implemented:
Remote tracking server—client applications such as TripLogger Remote for iOS – (on the App Store) or GPSLogger for Android can be used to submit locations to the server.
Sharing tracks with others.
Viewing tracks on a map provided by a tile server, e.g. OpenStreetMap tiles.
Creating and sharing itineraries using the Markdown markup language.
Using the map, interactively creating routes and waypoints for an itinerary.
Uploading and downloading routes, tracks and waypoints for an itinerary as a GPX file.
Viewing routes, tracks and waypoints of an itinerary on the map.
Splitting, simplifying and joining routes and tracks.
Deleting individual points from routes and tracks.
Account maintenance – uploading TripLogger settings.
Account maintenance – password change.
Itinerary shares report – list shared itineraries including nicknames.
Itinerary search by coordinate and radius.
Administration – user management.
Administration – tile usage report.
Create a network for the containers to share:
$ docker network create trip-server
Optionally, run the Docker container for OpenStreetMap tile server
The import process temporarily requires a lot of memory. We need to create and mount a swap file:
$ sudo dd if=/dev/zero of=/swap bs=1G count=2
$ sudo chmod 0600 /swap
$ sudo mkswap /swap
$ sudo swapon /swap
Create Docker volumes for storing the database and caching map tiles:
$ docker volume create osm-data
$ docker volume create osm-tiles
Import OSM data for Monaco:
It is recommended to use a small region to minimise resource usage.
$ docker run -v osm-data:/data/database/ \
-e DOWNLOAD_PBF=https://download.geofabrik.de/europe/monaco-latest.osm.pbf \
-e DOWNLOAD_POLY=https://download.geofabrik.de/europe/monaco.poly \
overv/openstreetmap-tile-server:2.3.0 import
The process must complete without error. Check the final output
carefully. If it fails, it is necessary to delete and re-create the
Docker osm-data volume.
$ docker volume rm osm-data
$ docker volume create osm-data
Once the import completes successfully, run the map tile server:
$ docker run -v osm-tiles:/data/tiles/ -v osm-data:/data/database/ \
--network trip-server --network-alias map \
-d overv/openstreetmap-tile-server:2.3.0 run
Run the Trip Server database container:
$ docker run --network trip-server --network-alias postgis \
-e POSTGRES_PASSWORD=secret -d fdean/trip-database:1.11.4
Run the Trip Server web container:
$ docker run --network trip-server -e TRIP_SIGNING_KEY=secret \
-e TRIP_RESOURCE_SIGNING_KEY=secret -e POSTGRES_PASSWORD=secret \
CONFIGURE_TILE_SERVER=no \
--publish 8080:8080 -d fdean/trip-server-2
Set CONFIGURE_TILE_SERVER to yes if you have the map tile
container running. When not set to yes, dummy map tiles are created
showing their x, y and z values.
Content type
Image
Digest
sha256:6a42e1f16…
Size
257.1 MB
Last updated
5 months ago
docker pull fdean/trip-server-2