owntracks / talk

Questions, talk about OwnTracks
30 stars 4 forks source link

Owntracks - really cool but made way too complicated #127

Closed timdonovanuk closed 5 months ago

timdonovanuk commented 2 years ago

Hi,

Just my personal experiences with Owntracks - the lack of a web UI for configuration is really a massive barrier to adoption and as someone even quite adept with technology and self hosting projects, I found the setup and configuration of owntracks quite ardious and complicated. And even now, after many hours, I'm left with no idea what the difference between mqtt client id, tracker id, user and device is. The documentation, while impressively thorough, is alienating to what I believe is most peoples usecase.

Keep It Simple - it should be as easy as: install the server, install the app, configure in the app your name, point it at the server and done. This is not even close to the current user journey....

As a great example, I would like to post via HTTP to the server, cutting out MQTT. Most apps that would be...configure the HTTP endpoint and you're done. With Owntracks....https://owntracks.org/booklet/tech/http/ I don't even know where to begin parsing this page.

Don't get me wrong, this project is awesome and too much documentation is never a bad thing, but I would encorage the creation of end-user documentation vs developer documentation and a way to admin/manage the server and data that doesn't require a phd in MQTT message structures.

Cheers!

jpmens commented 2 years ago

Ideally OwnTracks apps would be point and click, but due to the effort we've invested in implementing privacy first, we don't offer a hosted version. As such users need to either set up the infrastructure themselves or have a friend who does it for them. :-)

OwnTracks was an MQTT only project until we implemented HTTP because some people thought it'd be easier to handle; since then we've two different protocols that can be used. This complicates setup, admittedly, but there's not much we can do about that, IMO. I fail to see how a web UI would help, considering the myriad possibilities the backend components (HTTP server, MQTT brokers, etc.) offer, but we'll gladly hear your thoughts on this.

We've been promising a simpler 'getting started' guide, and it's on me that we don't yet have that. Believe it or not, sometimes real life interrupts things.

TimSC commented 2 years ago

I just configured Eclipse Mosquitto and recorder using docker and TLS. It wasn't easy, particularly the TLS setup (I used an existing cert from Let's Encrypt https://github.com/owntracks/recorder/issues/193 ).

To make the server easier to deploy, I think TLS and MQTT is over complicated for what is needed. The server should be just download and run, no configuration required (except for setting a password and firewall/router perhaps). This might be achieved by using encryption more along the lines of SSH. I know that is easier said then done!

atjn commented 2 years ago

I agree with this sentiment. I especially think that it is unfortunate how complicated it is to set up TLS encryption, given how important it is for security and privacy.

I would guess that 99% of users follow the exact guide you have made for setup, so why not release an image that already has MQTT and letsencrypt installed and preconfigured to work with the recorder?

I know that that is easier said than done, but I think it would make the program accessible to many more users, while making it exponentially easier for us that did set it up anyways :)

alex9099 commented 12 months ago

I've been trying to wrap my head on the configuration of owntracks, but I feel it's still too complicated. Perhaps I'm missing something.

I'm trying to setup http mode, the tracking app asks for a username, password, device id and tracker id, where do i set those up? Who can see the tracks? Is there no login system? I've seen some issues here about "tours" (which is actually the main feature i'm looking for, came from hauk, looking for something with more features), how do i go about configuring it? How different is it from the "regular" setup? Can both co-exist at the same time?

Maybe a FAQ could be helpful, or as stated, a "quick start guide"

jpmens commented 12 months ago

@alex9099 in order to use OwnTracks you need to set up your own MQTT broker or HTTP server. It is not an app you just "sign up to and use". Whether or not other people can see your tracks or Tours is something you or a friend, as operators of the backend, decide.

alex9099 commented 12 months ago

@jpmens I understood that, and I'm trying to setup the server, I just found there's no "simple" guide to follow, specially for http only configuration

jpmens commented 12 months ago

Which components do you intend using server-side? Maybe we can help you a bit.

alex9099 commented 12 months ago

As I said, I would like to get the phone to send data through HTTP and then have that data shown either to authenticated users or having a "share link" (so a random token that's not listed anywhere).

From what i understood, the first part should be simple, but the latter there doesn't seem to be a way.

Hauk did exactly this, but is kinda abandoned and owntracks seems to have way more features (like recording the track and rewatching later), so I would like to give it a try

jpmens commented 12 months ago

There is a way for the latter using our Recorder, ideally with an HTTP auth proxy before it, but it is non-trivial to set up, and as you've noticed, our docs are not yet up to scratch...

harlock974 commented 5 months ago

I also had difficulties installing the MQTT server following the booklet, as it covers all the details, some not mandatory. Fortunately I found two tutorials :

The first doesn't work, there was trouble with the key file generated with mosquitto-setup.sh. By the way the script declares itself as deprecated. But this article helps me to understand the way the program works.

The second tutorial was easy to follow and I succeeded to run the MQTT broker and access to it with Owntracks app.

I'm still trying to understand if there is a way for an user to select with who he can share his location when connecting to the same broker.

jpmens commented 5 months ago

@harlock974 if you promise not to tell anybody :-) I'm just now working on a quick setup documentation and installer. You can gladly preview of the documentation and even run the installer. If you find anything untoward or hard to understand, please submit bugs and/or suggestions/fixes at https://github.com/owntracks/quicksetup/issues

jpmens commented 5 months ago

We've created a Quicksetup which configures an MQTT server, our Recorder and Frontend with all bells and whistles as well as a configurable list of friends.