I made wanderer - a self-hosted trail and GPS track database

get_flomped@lemmy.world to Selfhosted@lemmy.world – 930 points –

Over the last two months, I developed wanderer. It is a self-hosted alternative to sites like alltrails.com or in other words a self-hosted trail database. It started out more as a small hobby project to teach myself some new technologies but in the end, I decided to develop it into a fully-fledged application.

Core Features:

  • Manage your trails
  • Extensive map integration and visualization
  • Share trails with other people and explore theirs
  • Advanced filter and search functionality
  • Create custom lists to organize your trails further
  • Chique design with a dark and light theme
  • Fully mobile compatible

wanderer is completely open-source. You can find the GitHub repo here: https://github.com/Flomp/wanderer

wanderer is still under active development so if you encounter any bugs/errors or have suggestions please let me know here or open an issue on GitHub.

76

Strava has continued to enshittify the app to the point that I'm getting ads after every activity. Anyway, I decided to delete it after yesterday's run and will keep an eye on this project. Thanks!

You mean after the price hike they also hiked the number of ads? I canceled when they hiked the price and managed to get it down to the old price a few months later, so I renewed for the personal heatmap. Looks like I'm definitely canceling again. I doubt they'll give me the price break twice anyway.

Baking ads into a timeline like Strava and some other apps do has to be the worst app trend ever.

If you just like the personal heat map then checkout grrrmin_heatmap. It's a pretty flexible python script for generating them.

This appears to be what I've been looking for. I can't wait to try it. Thanks for sharing.

Strava has ads now? I use NextDNS on my devices so assuming this is filtering out their ads.

Much like Facebook, you can't use a DNS blocker when the ads are being served by and from the website itself. There are some scripts you can run in the desktop browser that help a little but they're usually not maintained, and Strava is constantly changing things, and they don't work on the app.

I removed my account a few years ago when they moved a bunch of features behind their paywall. I'm perfectly fine just using Garmin's built in 'news feed' and tracking without giving my data to another company.

Strava lost me when they jacked up prices while simultaneously not providing a dark mode and continuing to neglect their paying users' requests to acquire some semblance of control over their feed.

I'm a mountain biker and I like to see my friends' mountain bike rides. Instead my feed is jam-packed full of dog-walkers, Trainer Road and Zwift ads, and suggested/recommended "challenges" and "clubs".

I'm done. Yet another platform relegated to "post and ghost".

I LOVE THIS.

Self hosted, GOOD LOOKING (rarity in FOSS), nice to use and privacy-aiding.

Thank you so much!

This is an excellent use case for a self hosted service, since location data is frequently used for nefarious purposes.

The screenshot looks awesome! I'm currently on vacation and will definitely try it out.

Welcome to Lemmy! I recently posted about Wanderer also in another self-hosting community: https://slrpnk.net/post/7887187

As someone interested in self-hosting this, I have two questions:

How far is it suitable for say a local hiking association or a small municipal government to use this as a public trail database to promote regional eco-tourism efforts? Where I live the local government has something like that, but it is badly maintained. For that to work it would need to have the ability to easily find trails on an overview map and to allow posting notices about trail closures etc. (ideally even crowd sourced?) Maybe also some way to mark trails as official, if they are designated and sign-posted.

Unrelated: have you thought about allowing the live-tracking via apps like Phonetrack or OSMand? I think that would make it both more convenient for uploading tracks (at least where there is sufficient cell-coverage) and might add an interesting social aspect to it if you can share your live-location with other users.

P.S.: Would be great if you could add it to https://translate.codeberg.org/ for adding additional languages easily.

Thanks for promoting wanderer! Finding trails on the map should be no problem, you can currently mark trails as public so that not logged-in users can see the trail. I have thought of steering wanderer towards a more socially interactive platform. I think a good first step would be to allow comments and implement a rating system.

Thanks for the crowdsourced translation website. I was looking for something like this. I will set it up and add it to the contributing section of the documentation.

Would be nice with activity pub support for sharing planned and recorded trails. Cone to think of it. Does it make that distinction? Planned vs recorded? How about a planning, route finding mode?

Kudos to your project so far!

I'm not sure if I understand your question correctly. Do you mean creating a trail from scratch on the map without recording it before? That is indeed on my roadmap.

That and sharing it with other users through the ActivityPub protocol (what Lemmy uses)

I see. I'm unfamiliar with the protocol, but sharing trails is definitely on the roadmap. So I will look into it!

Unless Pocketbase adds support for ActivityPub, you are probably better off just adding a share to Mastodon, Pixelfed etc. button in the frontend and let an external software handle this.

There are hiking trails (which are marked with signs) where you can find the gps tracks online.

At least that is the case in Germany.

Wanted to ask this. Is it difficult to implement activity pub? That would be awesome. It looks beautiful

Question: why would I want to self-host this to use while I'm in the woods with no service, as opposed to an app on my device?

I think you might misunderstand what wanderer does. It is not a maps service like Open Street Maps. It's simply a database in which you can store your GPS tracks. So the workflow would look like this: you are in the woods and record your track (e.g. with osmand) -> you store your track in GPX format -> you upload your track (and any additional info like a description or photos) to wanderer -> before your next adventure you check wanderer to decide what you want to do

You compared the service to AllTrails, which is a trail exploration and planning app. Like, walk down the trail and follow the map for navigation.

Can you log your trips without an active data connection?

Logging trips offline requires background location services. This does not work for a simple website. You would need to program an app for that. While this is a plan somewhere down the line, it's still far away. So currently I would recommend relying on an external app to log your trip and import afterwards.

I have some tracks from dirt biking that I sometimes port into Google earth. Might have to give this thing a whirl.

To plan, organize or review routes.

This seems more like Garmin Basecamp, it's not supposed to be used on the routes themselves I'm guessing.

So you plan a route and then leave the plan at home and wing it?

Offering print support for trails is high on the priority list.

Wow. I aspire to be as knowledgeable as you one day. This motivated me.

Very interesting, I like the screenshots! Will definitely check this out.

How do I change port to something else? 3000 is already used by Gitea :)

With docker you can simply change the port mapping in the compose file

I've done that, all containers report healthy, but still can't connect. I've tried changing ORIGIN to ip;port, domain: port, still nothing. Really weird.

No that port is used by Homepage. B)

Come on man.

Soooo cool! If it could get from gpx the dates when activities where made, autoimport multiple gpx files, bug fixing, tableview (small overview from all activities) it will be my Strava killer..

Great work! Thx

Just cross-posted this to OpenSource. Thank you so Mich. This is great.

This is very nice :) I was working on a proof of concept similar to this to have a quick search functionality for FrankenJura (german hiking database) but it was lost in a drawer due to lack of time 😁 Great work and thanks for sharing it :)

Happy to help. If you can get a dump of the database it should be quite easy to import it into wanderer via the API 👍

If I recall correctly, I couldn‘t find API endpoints back then and had to browse/prse the pges based on the regions and the links on the landing pages 😅

Any chance to pack it into a single container instead of three? Would make it easier to work with unraid.

Database is rarely, if ever bundled into the app container, unless it's SQLite.

Yes, unraid community apps are a bit unconventional in this regard, everything needed should be in one container here.

Nice ! You made me think of spinning up a little server. It's been a while since I've dabbled in managing a server and not aure I have the time for that. But you made the chances if me going for it much higher.

Would a raspberry pi 4 be enough for running it ?

Absolutely. I have it running on a Pi 5 and that's more than enough. You only need 1GB of RAM when first starting wanderer. After that it sits at around 100Mb.

These may be answered elsewhere, but like some other interested people in this post, I fully intend on trying to load a copy of this when I get home from vacation.

What methods/devices do you use to upload/sync the data? Other than a regular smart phone, were you able to use other GPS enabled devices like garmin or apple smart watches?

And system requirements?

You can use whatever device you prefer. In the end, you simply need a GPX file that you upload through the web UI or the API. I am planning to support other formats like KML soon, though.

System requirements should be quite low. On the first startup you will need ~1GB of RAM. After that, the whole stack sits at around 100MB on my machine.

Oh KML support!

Looking forward to that!.

;)

I'll use it for running though. Hmm. I'm using KML on my running sections. Is it possible to get some stats and graph for pinpointing and an average?

Currently wanderer supports visualising duration, distance, elevation gain and speed. Support for heart rate is planned. It can display a graph (the one you see in the screenshot) and also calculates an average.

That's great. Thank you very much for your work.

I use a banglejs 2 as a smart phone is way to bulky to carry while running. The bangle 2 is a JavaScript based watch with a GPS receiver.

What's the scope of this, just a route catalogue or will it sort of become a hiking tracker as well?

wanderer currently parses distance, elevation gain, duration and speed. Parsing heart rate would be an easy addition, though.

That would be a great addition, I could use it as a history of my hikes then!

Love it.

I've been willing to learn more about programming with location/map data so definitely checking this out.

Are you looking for contributions or help on anything? I think I might at least look at providing a Dutch translation for the front-end if you're accepting PRs.

Super cool thank you for making this! I just got a bike for the first time in over 20 years and I'm ready to explore my area. I have been trying out those other apps like all trails and trail forks, everything being so paywalled is frustrating.

The bike I just got, it's a beaut. A Clem Smith Jr. L from Rivendell Bike Works. I'm loving just scoping out parts and things but it's a super great bike already.

I look forward to trying this out and thanks again!

I tried Wanderer few days ago and I did find it very nice, yet quite buggy.

I was forced to update the page a second time before being able to do something, for an example using the menu.

But other than that, I find Wanderer very nice! Just miss seeing mainly how fast I was travelled in km/h. The statistics and details provided in workout-tracker1 is absolutely amazing! If you add such details into your project, that would be awesome!

Speed statistics were added in v0.2.0. Hopefully also with some bugfixes.

Very nice :) Me like! But the bug is still there when you have clicked on a trail on the home page. The page just scrolls up to the top and you have to update the page to see the trail.

That's strange, I never had that happen. If you have the time could you please open an issue on GitHub?

But why the Docker :(((

Read just a bit further and they explain how to install from source, although I don't see why you would go through the hassle

Because using a containerization system to run multiple services on the same machine is vastly superior to running everything bare metal? Both from a security and a ease-of-use standpoint. Why wouldnt you use docker?