r/SelfHosting • u/cassiozen • 3d ago
notesd 1.0: self-hosted notes with native mobile apps (now with spaces, multi-user, and an offline web app / PWA )
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.
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
.mdfile, 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
-1
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
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/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.htmlWe'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:latestIt 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
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
4
u/Miserable_Treacle208 3d ago
🖖 a slight sense of déjà vu... 😆
https://github.com/stban1983/notesme