flomp / wanderer Goto Github PK
View Code? Open in Web Editor NEWwanderer is a self-hosted trail database. Save your adventures!
License: GNU Affero General Public License v3.0
wanderer is a self-hosted trail database. Save your adventures!
License: GNU Affero General Public License v3.0
Just a small issue with your docker image for the database. Currently the executable is built for arm64:
pocketbase: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, Go BuildID=Ypg7785avPSIhmw-I2_z/cEYv5F-E4-7xfmVePnOh/sPjUGfxd6wd_odGwtFZ-/ir6okl09Mx4CbzeSaRP0, with debug_info, not stripped
so produces the following output when ran:
wanderer-db | exec /pocketbase: exec format error
I am currently deploying on an amd64 machine.
Excited to check this out when the image is fixed. Thanks
Hi,
as almost all my tracks/trails are longer than 20km, the current distance filter is almost useless and I would like to have the max filter value as at least one of the following:
I found this code but have no idea if its really just as simple as to change those values (sry, not a js guy)?
First of, loving this project, I've been looking for something like this for a while!
I noticed when I uploaded a bunch of gpx files to test things out, the trails tab of wanderer only ever shows the first 5 tracks matching filter criteria. So if there are more than 5 tracks, they are simply not shown.
If you change the ordering (to e.g. alphabetical), 5 different tracks will be shown, so it is not an error in uploading, etc.
The same happens in the Map tab. Interestingly, it does not seem to be a problem in the Lists tab.
I am just using the default docker-compose. No changes.
First of all, thanks for creating this project, I've been searching for something like this for a long time.
I record all my tours via Komoot and would love to be able to directly import them from there as it would take me a lot of time to manually download and import hundreds of GPX files. Support for other providers like Strava would also probably be pretty useful to people using them.
Currently its possible to show lists as card or list. I would be nice to show them as map.
So it's like using the map module with a preselected list as filter.
So, as I live in NYC, I have input several trails walked in Brooklyn.
brooklyn
in the search fieldBrooklyn
in the U.S. without any means to know where they are as the State is not included > please include State.Hi,
The documentation of the meili master key for the docker-compose setup is incorrect.
The key has to be changed to a secure key (I don't know what the security parameters are for meili)
When setting an insecure key, the wanderer-search container log contained the following:
A master key has been set. Requests to Meilisearch won't be authorized unless you provide an authentication key.
Meilisearch started with a master key considered unsafe for use in a production environment.
A master key of at least 16 bytes will be required when switching to a production environment.
We generated a new secure master key for you (you can safely use this token):
>> --master-key ALongKey <<
The new master key was a 42 character string.
The issue here is, with my insecure key I was not able to use meili search. After uploading some GPX tracks, the Trails and Map view did not contain any tracks. They were only shown on the Home screen.
I had to delete the data folder, and set a secure key for meili to be able to see the gpx tracks in the Trails and Map view.
A secure key can for example be generated via:
openssl rand -hex 22
Hi developers,
Can you please write instruction, guide how to setup wanderer after nginx proxy manager(npm)?
Localy its running pretty cool, but im facing issues when i want to share it my friends/WWW.
First off all, thank you very much for creating and sharing this awesome project!
I do seem to have an issue where the trials and map sections throw an 500 internal error whenever I am not signed in. I do have some trials that should be publicly available. Everything works however when signed into an account.
From the Home page I am able to access the public trails, so they are definitely available.
Hi,
I didn't see french for the webapp. If you want, I can make a traduction on https://translate.codeberg.org/projects/wanderer/wanderer/
Tell me if you want ;)
Tried creating a user on my phone and kept getting "issue creating user". Hopped on my desktop and had to dig into the response to see the issue was that my username was too short.
Should have those validation errors propogate up. I can give it a go later if I have a chance to dig into the code.
When i try to upload the attached gpx file with name "Düsseldorf-Angermund nach Neuss-Hamm" the ui shows a "Trail saved successful" but no route is found in the list and NO error is present in the docker log view.
2021-11-14_564807964_Düsseldorf-Angermund nach Neuss-Hamm.gpx.txt
When linking accounts to an main service via the new OIDC login option: #24 it would be great if you could just completely disable the regular account features and only allow OIDC.
Thanks!
Documentation should be split into API Documentation and Documentation as they are not the same
Completed should be split into Completion status and Completed
Types of transportation: Hiking, Walking, Climbing, Skiing, Canoeing, Biking
Cards at the top of the page: Home, Trails, Map (Some bugged resources?)
This whole box
Invalid Date in summit book
Side note: Very cool that apng files work and gifs don't
I am unable to create an account after the first install. The only message is "error creating user".
I've tried looking at the logs but nothing shows.
It will help to keep certain terms consistent across all strings like: Waypoint, Trail or Entry
new y
in the Default LocationNew York City
new y
When i edit a track i would love to be able to upload multipled images at once via drag and drop upload.
I tried to run the container but http://ip:3000 returns 500 Internal Error.
Following is the output in terminal
podman start -a wanderer-search
ls: /meili_data/data.ms/indexes: No such file or directory
error: invalid value 'True' for '--no-analytics'
[possible values: true, false]
tip: a similar value exists: 'true'
For more information, try '--help'.
podman start -a wanderer-db
ERRO[0000] Failed to start transient timer unit: Unit 0508fd13820c91db6349a87c0b986f9b81a74b4a940d1cdb77af92e511b5b8ed.timer was already loaded or has a fragment file.
[db] | 2024/04/09 05:43:01 Server started at http://0.0.0.0:8090
[db] | ├─ REST API: http://0.0.0.0:8090/api/
[db] | └─ Admin UI: http://0.0.0.0:8090/_/
podman start -a wanderer-web
ERRO[0000] Failed to start transient timer unit: Unit 0508fd13820c91db6349a87c0b986f9b81a74b4a940d1cdb77af92e511b5b8ed.timer was already loaded or has a fragment file.
[web] | Listening on 0.0.0.0:3000
I created the missing file /meili_data/data.ms/indexes
manually and started the container again.
podman start -a wanderer-search
ERRO[0000] Failed to start transient timer unit: Unit 2fb5f2edeab02bafcfec7f2e86420887286d552f482fe6b6876dae69c9a30bfc.timer was already loaded or has a fragment file.
error: invalid value 'True' for '--no-analytics'
[possible values: true, false]
tip: a similar value exists: 'true'
For more information, try '--help'.
podman start -a wanderer-db
ERRO[0000] Failed to start transient timer unit: Unit 2fb5f2edeab02bafcfec7f2e86420887286d552f482fe6b6876dae69c9a30bfc.timer was already loaded or has a fragment file.
[db] | 2024/04/09 05:56:20 Server started at http://0.0.0.0:8090
[db] | ├─ REST API: http://0.0.0.0:8090/api/
[db] | └─ Admin UI: http://0.0.0.0:8090/_/
podman start -a wanderer-web
ssh user:host
wget https://raw.githubusercontent.com/Flomp/wanderer/main/docker-compose.yml
:Z
to all paths to account for selinux.localhost
to ip addr of serverpodman compose up
Hi,
i tryed your auto import.
It would be cool if we can see speed and other measurements which gpx can handle.
Thanks for developing and sharing your app! :)
Hi,
Thank you for the very promising tool -- just what I was looking for!
I have hundreds of gpx
files and was wondering if it would be possible to upload them all at once, then refine the records for each.
Doing it programmatically through the API would be fine with me.
Thx,
S.
I assume something simple like this could work or are there better endpoints / APIs to check?
Use this with port 3000 and another one for port 8090?
healthcheck:
test: curl -ILfSs http://localhost:3000 > /dev/null || exit 1
interval: 30s
timeout: 15s
retries: 3
start_period: 30s
And looking at the sample healthcheck for meilisearch:
healthcheck:
test: curl --fail http://localhost:7700/health || exit 1
interval: 30s
retries: 10
start_period: 30s
timeout: 10s
I just deployed the stack via the provided docker-compose.yml on my Synology, adjusting the 'volumes' settings were the only changes I made. The deployment went fine, the frontpage is showing up.
Unfortunately it is not possible to register a user. Error message "Fehler beim Erstellen des Nutzers"
Hi,
it would be nice to have the ability to export all trails at once.
This could be enhanced by various option:
The export feature could be customizable to export the selected/all of existing data:
Hi, just found this very nice app via reddit and had to try it out.
Installed it via the provided docker-compose and averything seems to run fine after registering a new user ... but:
After saving a new trail (which I get a success message for) its not showig up anywhere. Not in any search and not on the map sor anywhere else .... but
If I use Firefox and navigate from the Trails page to the Home page all my tracks show up for a fraction of a second before the new page is being shown.
Edge not showing anything at all (even when switching pages).
I am not using a reverse proxy yet and not getting any error messages in the logs (at least the ones I can see via portainer).
Another question: Where are my uploaded gpx files saved? I was under the impression that they are saved as plain files but can not find them. Would like to have the uploaded files as plain files somewhere for easier backup.
I think a few version strings need to be updated to reflect 0.3.0
I've opened a PR here: #42
I took the docker-compose.yml and docker compose up without any change. The result in the browser for http://localhost:3000/ is an error 500
In the shell i get a lot of errors by the db:
wanderer-db | exec /pocketbase: exec format error
And while the request was loading the this error:
wanderer-web | TypeError: fetch failed
wanderer-web | at Object.fetch (node:internal/deps/undici/undici:11731:11)
wanderer-web | at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
wanderer-web | cause: Error: getaddrinfo EAI_AGAIN db
wanderer-web | at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:107:26) {
wanderer-web | errno: -3001,
wanderer-web | code: 'EAI_AGAIN',
wanderer-web | syscall: 'getaddrinfo',
wanderer-web | hostname: 'db'
wanderer-web | }
wanderer-web | }
wanderer-web | TypeError: fetch failed
wanderer-web | at Object.fetch (node:internal/deps/undici/undici:11731:11)
wanderer-web | at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
wanderer-web | cause: Error: getaddrinfo EAI_AGAIN db
wanderer-web | at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:107:26) {
wanderer-web | errno: -3001,
wanderer-web | code: 'EAI_AGAIN',
wanderer-web | syscall: 'getaddrinfo',
wanderer-web | hostname: 'db'
wanderer-web | }
wanderer-web | }
When i add or edit a route, it would be nice to be able to add the route to a previous create list in the edit form.
I've changed the port before installing with Docker compose to 5000, after installing it still listens on 3000.
From docker log:
Listening on 0.0.0.0:3000
I can't provide the version when making a bug report.
I am on 2.0
Hi,
it would be nice if the there is an option for the Map view so that the map is automatically adjusted based on the location of all tracks.
E.g. independent from the default location, the map is zoomed and adjusted so that all tracks of the user is visible in the map.
This would allow the user to automatically see all of their tracks at once on the map without having to zoom out/in / pan around.
Hi,
Thanks for making wanderer!
I'm running wanderer on a k8s cluster behind a reverse proxy (Ingress NGINX Controller). I'd like to host wanderer at <my-hostname>/wanderer
. I tried setting the ORIGIN envvar to include the /wanderer
subpath, but it seems the app always wants to fetch assets from /_app
, which causes things to break. Is there a way to make this work?
Thank you!
When you're on the home page and click on a trail, the URL in the address bar updates but not the page. The page just scrolls up to the top. To go to the trail you clicked on, you need to update the page.
It would be nice, to be able to add new waypoints via clicking on the map and not need to enter lat/lngs as overlay
Hi,
Maybe this is not feature, but I can't see option how to share track to other users.
I can see only my uploaded tracks and can't find button/way how to share to other users.
Sincerely,
Berils.
It looks like currently editing this field is not possible.
When i want to upload a larger image with 7.1 MB i get an error:
web-1 | SvelteKitError: Content-length of 7088136 exceeds limit of 524288 bytes.
web-1 | at Object.start (file:///app/build/handler.js:984:19)
web-1 | at setupReadableStreamDefaultController (node:internal/webstreams/readablestream:2333:23)
web-1 | at setupReadableStreamDefaultControllerFromSource (node:internal/webstreams/readablestream:2366:3)
web-1 | at new ReadableStream (node:internal/webstreams/readablestream:289:7)
web-1 | at get_raw_body (file:///app/build/handler.js:973:9)
web-1 | at getRequest (file:///app/build/handler.js:1052:7)
web-1 | at Array.ssr (file:///app/build/handler.js:1230:19)
web-1 | at handle (file:///app/build/handler.js:1300:23)
web-1 | at file:///app/build/handler.js:1300:40
web-1 | at Array.<anonymous> (file:///app/build/handler.js:1219:4) {
web-1 | status: 413,
web-1 | text: 'Payload Too Large'
web-1 | }
I want to QA my translation but when I try to run the app in docker it has older version that I installed yesterday.
sudo docker rm wanderer-search wanderer-db wanderer-web
sudo docker compose up -d
Would be nice if it were possible to configure an easy to use login provider via Oauth2/OIDC.
That way it would be for example easy to integrate accounts with a Mastodon instance or similar.
Pocket base seems to have support for this: https://pocketbase.io/docs/authentication#oauth2-integration
Thanks for considering this.
Hi,
thanks for recent 0.40 update with dates! ❤️
I‘ve noticed in v0.2 I could upload in wanderer downloaded gpx files from iOS 17.4.1
(Komoot gpx download)
now gpx files are greyed out during file upload selection in files in 0.3 and 0.4.
would be fine, if it will be possible to upload from mobile.
second request, please allow in routes view / map view a date range selection (for example view routes from last month, or from 1.1.-1.6.2023,..
3rd:
Sorting via date (descending) and creation date doesn’t work. It doesn’t refresh or sort it right (iOS and brave / windows)
4th:
Please show date also in list view and detail view
With version 0.2.0. when starting up fresh with docker compose up
results in an
dependency failed to start: container wanderer-search-1 is unhealthy
and an empty search folder. No other error is shown in the console even though i added MEILI_LOG_LEVEL: WARN
Some of my GPX files are not showing up in the map view. They do appear in the list on the left. For instance:
"Haute Route 4..." is not visible. Clicking on it will open the specific track, and is drawn on the map:
y and m are show as NaN.
This happens with some GPX files I downloaded, this is an example just for reference. The raw GPX file does not look like it has broken syntax.
Good morning,
Im sorry if these feature requests are too much, but....
It would be cool feature if there we're option to upload files automatically using syncthing,nextcloud sync, rsync, or any other sync software.
Scenario: Im getting on my bike, with open osmand, which automatically start to record trail. After I finish my ride, I press save button and add comments. This file is being saved in folder TRACKS, and this folder is synced to wanderer folder TRACKS.
Now only option is to manually upload gpx files, but it would be awesome if this gpx file repository would be up-to-date all the time with tracking device. Not necessary both ways, but it would be cool if they were imported automatically.
Now storage tree looks like this:
BR,
Berils
Thank you very much for this great app!
I can upload small gpx files but most of my files are some MB big and with these I get an error:
SvelteKitError: Content-length of 965006 exceeds limit of 524288 bytes.
at Object.start (file:///app/build/handler.js:984:19)
at setupReadableStreamDefaultController (node:internal/webstreams/readablestream:2333:23)
at setupReadableStreamDefaultControllerFromSource (node:internal/webstreams/readablestream:2366:3)
at new ReadableStream (node:internal/webstreams/readablestream:289:7)
at get_raw_body (file:///app/build/handler.js:973:9)
at getRequest (file:///app/build/handler.js:1052:7)
at Array.ssr (file:///app/build/handler.js:1230:19)
at handle (file:///app/build/handler.js:1300:23)
at file:///app/build/handler.js:1300:40
at Array.<anonymous> (file:///app/build/handler.js:1219:4) {
status: 413,
text: 'Payload Too Large'
}
On upload the map shows the correct route. "Route speichern" then gives "Error saving trail.". The new entry is listed under tracks but the map is without a route.
A similar problem occurs when uploading photos that are bigger then ~800x600px.
Andreas
(linux docker 26.0.0, wanderer v0.3.2)
As a user with a german Browser and an english server I am getting mixed distance/elevation units in the ui.
Improvement:
I have a gpx file that is 528,6 kB large. When i try to upload it, i get the following error. In the browser i only get an "Internal Error"
web-1 | SvelteKitError: Content-length of 528846 exceeds limit of 524288 bytes.
web-1 | at Object.start (file:///app/build/handler.js:984:19)
web-1 | at setupReadableStreamDefaultController (node:internal/webstreams/readablestream:2333:23)
web-1 | at setupReadableStreamDefaultControllerFromSource (node:internal/webstreams/readablestream:2366:3)
web-1 | at new ReadableStream (node:internal/webstreams/readablestream:289:7)
web-1 | at get_raw_body (file:///app/build/handler.js:973:9)
web-1 | at getRequest (file:///app/build/handler.js:1052:7)
web-1 | at Array.ssr (file:///app/build/handler.js:1230:19)
web-1 | at handle (file:///app/build/handler.js:1300:23)
web-1 | at file:///app/build/handler.js:1300:40
web-1 | at Array.<anonymous> (file:///app/build/handler.js:1219:4) {
web-1 | status: 413,
web-1 | text: 'Payload Too Large'
web-1 | }
Rename to .gpx without .txt to test with.
2021-10-24_536064034_Essen-Mitte nach Bochum-Hauptbahnhof.gpx.txt
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.