First things first, get your own OwnTracks server set up. I'd offer to let you use mine, but I don't want to be responsible for your location data! The main things to look at are the official OwnTracks guide, and posts by real people trying to set it up
Official OwnTracks Guide Brian Douglass GuideYou need to get the server up and running, port forward as necessary so your server can be reached on the internet, then get your phone set up to start pinging your server!
Next up is to grab the OwnTracks app for iOS or Android. The OwnTracks mobile app takes your location and uploads it to your OwnTracks server every few minutes. You're welcome to tweak how often it updates, but I use the defaults. Make sure to sign in using your info from the previous server setup part.
To use the complex router that draws the route between each of your GPS points, you'll need an Open Source Routing Machine (or OSRM) server.
If you're content with staying on the west coast, you can use my server for this. I host an Open Source Routing Machine server for Washington, Oregon, and California as those are the only areas I really visit. My server can be accessed at "http://mini.romangarms.com:5001/route/v1/{url}". Note, this is my own server for my own purposes, it may change or go down at any time.
If you live elsewhere, you'll need to use a different one, or host your own. To use the public OSRM server, you can use the address "http://router.project-osrm.org/route/v1/{url}" in the proxy function in app.py. This should works just fine, but OSRM's documentation asks that you please don't abuse their public API. Otherwise, to make your own, you can do that by following the guide linked below.
Additionally, to use any of the options other than the one I host, you'll need to host this flask app yourself, as the OSRM server is hardcoded. I'll fix this in a future update.
OSRM BackendNote! If you want more than one region, you can combine multiple .osm.pbf files into one to host with a tool called "osmium-tool".
You may have noticed this is all under the lovely "romangarms.com" domain. You don't need to do this, you could just enter your IP address into the url bar in your browser, but it makes things nice.
I own the domain romangarms.com through CloudFlare and host WhereHaveIBeen at tracker.romangarms.com via Fly.io. Thess are both one of many option for both services, use whatever you know best.