Sign inSign up

fdean/trip-server-2

By fdean

Updated 5 months ago

TRIP is a web-based application supporting trip recording and itinerary planning

Image
Web servers
0

1.6K

fdean/trip-server-2 repository overview

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.

Introduction

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.

Features

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.

How to use this image

  1. Create a network for the containers to share:

    $ docker network create trip-server
    
  2. Optionally, run the Docker container for OpenStreetMap tile server

    1. 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
      
    2. Create Docker volumes for storing the database and caching map tiles:

      $ docker volume create osm-data
      $ docker volume create osm-tiles
      
    3. 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
      
    4. 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
      
  3. 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
    
  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.

Tag summary

Content type

Image

Digest

sha256:6a42e1f16

Size

257.1 MB

Last updated

5 months ago

docker pull fdean/trip-server-2