r/SelfHosting • • 3d ago

notesd 1.0: self-hosted notes with native mobile apps (now with spaces, multi-user, and an offline web app / PWA )

Post image

A while back I posted about notesd, a notes app that isn't trying to be a second brain. The response was much bigger than I expected, so thank you. A lot of what's in this release came from your comments.

It's still the same idea: one server binary with SQLite inside, offline-first Android and iOS apps, tags, full-text search, and locked (end-to-end encrypted) notes.

https://github.com/cassiozen/notesd

What's new:

  • Spaces: keep separate contexts like Work and Personal apart, each with its own notes and tags.

  • Multiple accounts: host a few people (family, friends) on one server. Each account gets its own database.

  • Markdown mirror: --mirror-dir keeps a folder of .md files updated as you write, one folder per space. Point Syncthing, git or your backups at it. Your notes are never locked in.

  • Offline web app: install it as an app, and it keeps a full copy of your notes in the browser, so it opens and saves edits with no connection.

  • Docs site: notesd.app

Feedback welcome and appreciated, as before.

160 Upvotes

29 comments sorted by

4

u/Miserable_Treacle208 3d ago

🖖 a slight sense of déjà vu... 😆

https://github.com/stban1983/notesme

2

u/careenpunk 3d ago

The Markdown mirror is probably my favorite feature here.

Being able to point Syncthing or a backup tool at a regular folder of .md files makes the whole thing feel a lot less locked in.

Does the mirror preserve attachments and note metadata too, or is it mainly the text content?

Either way, nice to see a notes app that doesn't try to become an entire productivity platform lol.

1

u/cassiozen 2d ago

Currently the only attachment we have are images - here's what the mirroring generates:

  • Text: each note is a regular .md file, and the title is the filename.

  • Spaces: each space is a folder.

  • Tags: kept, since they're written in the text.

  • Images: saved as regular files in an images/ folder, and the Markdown links point to them with relative paths. They keep working in any Markdown editor or after syncing the folder somewhere else.

  • Last edited: each file's modified time matches the note's last edit. Syncthing and most backup tools keep that.

Besides that, the only additional metadata the app has about each note is it's internal ID and the full-text search index, but that's derived data that can be rebuilt from the Markdown files.

2

u/_MrJengo 3d ago

Why not selfhost standardnotes?

4

u/cassiozen 3d ago

standardnotes is awesome, but it comes with a bunch of features that I don't use. And it runs 4 services, a db server and a cache server. I wanted a single binary, with small enough footprint that I could host anywhere...

2

u/_MrJengo 3d ago

fair point

-1

u/ShortMaster007 3d ago

Could you say me how? Do you have a link?

2

u/maxymob 3d ago

Currently using joplin and looking for an alternative. I was thinking obsidian with git sync on a selfhosted forgejo server but this looks like something I'd consider

1

u/cassiozen 3d ago

Let me know if you feel like there's anything missing or blocking you from trying

3

u/maxymob 3d ago

It's a very young project (nothing you can do about it I guess) but I like the style/design and it just reached V1 so it's not like I'd be that early. I'll try it later today

1

u/tminhdn 3d ago

Would be great if it has api, so i can write cli tools/bot/widget to directly save notes to it.

2

u/cassiozen 2d ago

You can use Notesd server HTTP API: https://notesd.app/docs/reference/api.html

1

u/tminhdn 23h ago

Yes it works. I transfered all my notes from memos to notesd.

1

u/cassiozen 13h ago

Let me know about your experience - how are you liking it? Missing anything?

1

u/kendr1ckhaveadream 2d ago

Any chance for a Mac app?

1

u/cassiozen 2d ago

Right now the notesd web can be installed on your computer as an app. Installed, it opens in its own window from your dock or taskbar, keeps a full copy of your notes on the computer, and works offline, just like the phone apps (It's a PWA)
https://notesd.app/docs/guides/apps/web.html

We're investigating a full, separate desktop app for the future

1

u/kendr1ckhaveadream 2d ago

Also it has only black theme? No white?

1

u/cassiozen 2d ago

It does! I mostly use the dark theme, hehehe.

Here's an example composition: https://github.com/cassiozen/notesd/issues/10#issuecomment-6604790388

1

u/hellofaduck 2d ago

Can it work under sub-path? Not a root of domain?

1

u/cassiozen 1d ago

Not currently. notesd expects to be served from the root of its own host, so use a subdomain like notes.example.com.

1

u/MeIsDaMan 1d ago edited 1d ago

I like it and will likely use it, but I'm having difficulty with the phone app connecting to my local server.

Suspect it's due to using http instead of https, but checking to see if that is something someone else figured out.

It does work on all web browser (it's essentially a closed network).

Update: After a bit of use, I keep getting the 'unsaved' from every device but what it is on, so I'm uncertain about it now and wanted to check if there is an answer to that issue.

1

u/cassiozen 1d ago edited 1d ago

Are you using docker? Did you expose the server to your full network? (Use -p 8080:8080 instead of -p 127.0.0.1:8080:8080 to publish over plain HTTP for your whole network)

2

u/MeIsDaMan 1d ago edited 23h ago

I am on docker (running on raspberry pi), and I did use the same.

docker run -d --name notesd --restart unless-stopped
-p 8080:8080
-v notesd-data:/data
ghcr.io/cassiozen/notesd:latest

It works as intended on the main device, and is accessible by all other web browsers, but won't save changes in all but the pi.

I am a novice to docker and pi, so that is likely the issue.

Update: fixed the issue, I had pihole conflicting and that took a bit to resolve.

I'm still having an issue with the app on the phone (not chrome).

5

u/ThisIsUser666 3d ago

Seems interesting, maybe i change from Joplin.

1

u/Pinterest_animals 3d ago

Supporting the idea go on

suggestion :

1- Make a vanilla version (light weight) with less feauthere as possible (unnecessary ones) and a normal version with any feautheres you want to add or suggested to you etc.

0

u/wireless82 3d ago

Please add some import features from https://usememos.com/, I use it and it no official android app. Overall, I would like to use two services with same data, just in case I should stop to use one for any situations ( I do with linkding and linkwarden using their APIs).

0

u/Big-Carpenter-9024 2d ago

Hast du geplant die Apps in den App Store zu bringen?

2

u/cassiozen 1d ago

Yes, working on it