chroxify / haptic

A new local-first, privacy-focused and open-source home for your markdown notes
https://haptic.md
GNU Affero General Public License v3.0
677 stars 15 forks source link

Persistent volume for Docker? #7

Open mariushosting opened 1 week ago

mariushosting commented 1 week ago

Nice project congrats! Where is the persistent volume for Docker?

chroxify commented 1 week ago

Hey @mariushosting, thanks! Currently, there isn't one because all the data is stored within the browser rather than on the server. This means that the Docker is essentially just running the website/frontend, while the data remains within the browser itself

ItsNoted commented 1 week ago

Hey @mariushosting, thanks! Currently, there isn't one because all the data is stored within the browser rather than on the server. This means that the Docker is essentially just running the website/frontend, while the data remains within the browser itself

How does one backup their notes then? I tried mounting the /app dir and nothing is there.

chroxify commented 1 week ago

Good question! Currently it's actually missing but I'll implement an export button later today for the web app! This will then allow to export/download the collection as a normal folder.

Once syncing is out, you obviously will also have the option to secure it that way.

mariushosting commented 1 week ago

Good question! Currently it's actually missing but I'll implement an export button later today for the web app! This will then allow to export/download the collection as a normal folder.

Once syncing is out, you obviously will also have the option to secure it that way.

Better to have a persistent volume for the notes instead of an export button. Just my 2 cent :-))

chroxify commented 1 week ago

I partially agree as I want to keep the local-first aspect in the front and offer optional syncing, which then will store the notes on the server in a persistent volume

I hope that makes sense. Essentially, once syncing is implemented, this won't be a problem anymore, as it will do exactly what you're looking for and additionally allow notes to be accessible from other platforms, not just the web.

I guess just the time in-between while sync is not there yet will be a little confusing. Working to get it out as fast as possible though!

ItsNoted commented 1 week ago

Honestly, I'd much rather have persistent storage than browser cache or storage. This means if we open another browser on a different PC our notes are gone...

I'm not sure how this is a good thing for people who use multiple devices. Even if you do implement a sync feature.

chroxify commented 1 week ago

Honestly, I'd much rather have persistent storage than browser cache or storage. This means if we open another browser on a different PC our notes are gone...

I'm not sure how this is a good thing for people who use multiple devices. Even if you do implement a sync feature.

Yes, currently, they would. But what you're describing is exactly how the syncing server will work. Essentially, to store the notes in persistent storage, an additional server needs to run. This server will then store all notes created in the web app (and on other devices) in persistent storage and will be responsible for syncing between devices.

The request is being work on!

edersong commented 1 week ago

I agree with all suggestions above. It should be nice if there is a persistent volume to keep our data and be able to open our notes on another browser normally. Additionally, the notes should be stored as files like note.md, note2.md to be able to import from other tools and easy to manage them.

RealFascinated commented 1 week ago

I would much prefer the notes to be on the server and not the client.

daydaya commented 1 week ago

I also agree to save notes on the server. Whether it is Obsidian or logseq and other note-taking software, synchronization problems give me a lot of headaches.

Ardakilic commented 1 week ago

One of the reasons I use Joplin is it can also store the notes on the server, it has a native server code in addition to cloud providers support. I'd love to check Haptic if notes are persisted on a server.

kdavisk6 commented 1 week ago

Yes, currently, they would. But what you're describing is exactly how the syncing server will work. Essentially, to store the notes in persistent storage, an additional server needs to run. This server will then store all notes created in the web app (and on other devices) in persistent storage and will be responsible for syncing between devices.

The request is being work on!

I'd like to try summarizing feedback to clarify, what I think the outcome here is.

I see that users want off-browser storage so that they can

In addition, I'd like to add:

To meet these needs, a server component or application is being considered. Did I miss anything?

In addition, are you looking or open to help here? I have some experience in this area and willing to donate time to help with the development and support of this server component.

cratedev commented 1 week ago

Haptic is functionally useless if I can only access it locally from the same device/browser. For example, if I make my notes in Firefox, I can't even see them in Chrome on the same device. I'm not sure what purpose this is meant to serve, as it feels more like "local only" rather than "local first".

Definitely would love to see persistent storage and a server/client type of system. I'm hoping to migrate to this from Obsidian simply to have a webapp that I can use anywhere.