Ditching Obsidian and building my own
224 comments
·May 18, 2025lolinder
caconym_
+1. I have Wireguard set up on all my mobile devices and configured to automatically start when connecting to any wifi that isn't mine, so I can take my devices anywhere and I'm still on my home LAN. It works seamlessly and flawlessly.
I self-host a lot of services, and without Wireguard (or equivalent), remote access just wouldn't be realistic.
Arch-TK
How did you automate it to start on networks which are not yours?
This is like the only piece of the puzzle for me.
thequux
Set the AllowedIPs wireguard setting (and/or the route, if you can set that separately) to one larger than your home network (i.e., if your home network is 192.168.1.0/24, use 192.168.0.0/23). Then, block wireguard packets from the internal network on your router. Then the tunnel will always be running; it just won't be used when you're at home because there's a more specific route
caconym_
All my regular mobile devices are Apple, so whoever said that has it right. I also have a Linux laptop but NetworkManager support for Wireguard was broken last I checked, and at the time I didn't care enough to set it up by hand.
runjake
For the Tailscale app on Apple platforms it’s called VPN On Demand. Here's how you can configure it.
mcpeepants
This is a built-in feature of the Wireguard app on iOS, not sure about other platforms.
brightball
Tailscale is actually great for this if you configure an exit node on a device in your home.
null
chris12321
You can also set up DNS records pointing to your home server's VPN IP, which, with Tailscale, I've found to be pretty static and then a reverse proxy on your home server. So I have my home network apps running on app1.my-domiain.com app2.my-domain.com, app3.my-domain.com etc, which only work when I'm connected to the VPN.
The downsides are that I need to be connected to the VPN at home to use the domain and I currently don't have SSL set up on the domains, so browsers complain when I connect to them. The second problem I could fix, but I'm not sure if there's a solution for the first.
8fingerlouie
The internet is not a friendly place, so a VPN is a great idea.
With modern tools like Wireguard, you can even set it up relatively easy, either as Wireguard alone or as Tailscale (or ZeroTier, though that's not Wireguard).
Wireguard (and Tailscale) allows you to setup the tunnel so that only local (RFC1918 ie) traffic is routed over it, meaning it won't eat up your battery like when just routing all traffic over it.
I have Wireguard setup like that. It enables on any Wi-Fi network that isn't mine, as well as cellular, and the battery impact is less than 2% over a day.
sabellito
For single page web apps I use pagecrypt [0] and just publish the html file (with inline scripts and styles) as public files.
rafram
The downside is that if you’re on a two-week vacation and your home network/server goes down on day two, there’s probably nothing you can do until you get home. If it’s hosted online, you can count on that 99.99…% uptime and SSH access no matter what.
vhanda
I think what they meant is that if it's hosted online / home-network, only allow access to all services through a VPN. Wireguard is relatively easy to setup, and you can configure all your services to only be available through wireguard.
Ever since ssh almost got backdoor-ed, the only thing "exposed" on my servers is Wireguard, which is UDP based and therefore harder to know if it's running. SSH also goes over wireguard.
accrual
Although not perfect, I added a couple features to help ensure uptime:
* LAN components are on a UPS, helps keep continuity between power blips and breaker flips
* Dynamic DNS, cron runs a script 4x per day to ensure a DNS name points to my IP, even if issued a new one by the ISP
* Rebooting everything occasionally to ensure the network and services come back up on their own and I didn't make a mistake with some config that loads at boot, etc.
jauntywundrkind
Ssh exposed on a non-standard port, with root disabled, using key-based auth should be pretty non-controversial.
The security through obscurity (non-standard port, no root) are both kinda silly but why not.
That said, with awesome services like TailScale, it's pretty hard to get locked out of your network. TailScale is so so good at "just working".
batch12
> The security through obscurity (non-standard port, no root) are both kinda silly but why not
I think these are decent controls when layered with others. The effectiveness differs depending on your threat models, of course, but at the very least it helps reduce the noise seen from most automated scans reducing the effort involved in monitoring your assets.
johnmaguire
Disabling root provides more than security-through-obscurity if your sudo config requires a password to elevate: it essentially means you need both your SSH private key and your password to gain root.
accrual
Fail2ban or rate-limiting SSH into a block table are useful layers to have as well.
cyberax
Another option is port knocking. Super easy to set up and with 4 knocks it provides 64 bits of randomness.
sammyteee
You can also enjoy your vacation instead :)
williamsss
Good point. I also use my PKMS as a CMS for my blog. Might just split out the services and go this route.
vunderba
Good article but as a heavy user of Obsidian (and previously Evernote), I would offer some counterpoints:
> After some mental gymnastics weighing if I should continue with Obsidian, I found solace when asking myself "Can I see myself using this in 20 years?". I couldn't. The thought of cyclically migrating notes from one PKMS to another every 5 years, as I had done from Evernote to Notion to Obsidian, made me feel tired.
In point of fact this is actually an argument IN FAVOR of Obsidian. While the editor might be proprietary - the notes themselves are just standard markdown. If somehow all the copies of Obsidian magically disappeared off the earth tomorrow, I could easily switch over to Emacs org mode, VS Code, or literally anything else.
> Obsidian was a great tool for me personally for a long time. But I felt frustrated when I wanted to access my notes on my phone while on-the-go and saw that I had to pay for this feature.
Again, a little bit odd considering that the author is technically savvy enough to write an entire PKMS but didn't seem to consider that you can just check your markdown notes into a git repository and sync with the native android/iOS Obsidian app on a mobile device. All my notes sync up to Gitea hosted on my VPS and it works relatively seamlessly.
I'm glad the author had fun. Personally, I'm very happy with Obsidian and the plugin architecture has made it easy for me to extend it where necessary.
caconym_
> In point of fact this is actually an argument IN FAVOR of Obsidian. While the editor might be proprietary - the notes themselves are just standard markdown. If somehow all the copies of Obsidian magically disappeared off the earth tomorrow, I could easily switch over to Emacs org mode, VS Code, or literally anything else.
100% this. The reason I started using Obsidian in the first place is that it's built on the exact directory structure and file formats that I was already using to manage my writing and notes, and if Obsidian goes away for some reason, that won't change.
braden-lk
Big obsidian fan, but I will say: notes being “just markdown” is not entirely true depending on how you use obsidian. If you are a plug-in heavy user, and those plugins introduce new syntax and lots of JavaScript functionality, you are accumulating a bespoke custom syntax that only works on your copy of obsidian with your set of plugins. Obsidian and those plugins are still free and are a huge benefit, but just something to keep in mind regarding data hygiene and longevity.
edanm
True, but the format is still text. In a "catastrophe", you can always just a) ignore these, or b) write custom code to process them (e.g. port the plugin to VSCode or whatever).
Still far better than a proprietary format.
eviks
A proprietary format with an export function allows you the same inconvenience of having to write code for processing.
williamsss
Thanks for the feedback! Agreed Git can be used to sync your notes. Its a great solution for those comfortable putting their notes into a Git repo like Github. I wasn't comfortable with that however.
Currently vetting a way to sync my database files with my markdown files on my laptop, so it functions similar to Obsidian. I enjoy Vim too much to work constrained to Directus' markdown editor!
viraptor
It's not just git. You have the plugins available for S3, couchdb, FTP, MongoDB, cloud drives, rsync, syncthing, and probably every other storage/protocol in the world. And they're all available for free in obsidian.
JonChesterfield
Git is decentralised. You can sync between laptop and phone directly, no third party server required.
achierius
To be clear, GitHub is centralized, but Git is not. You can sync between laptop and phone directly with Git -- no third party server required.
adastra22
No one said anything about GitHub… git is perfectly fine for this use case and 100% private.
bryanhogan
Common ways to sync Obsidian are through cloud tools (Google Drive, OneDrive, etc.), SyncThing Fork or Git.
I'd recommend you to look into SyncThing Fork or a similar tool if you never want your notes to leave your own server.
I wrote about ways to sync Obsidian here: https://bryanhogan.com/blog/how-to-sync-obsidian
charlie0
The odd part here is why take it to 100%+ when you can just build a plugin on Obsidian rather than re-building the whole thing? Seems a bit extreme.
williamsss
In 20 years will that plugin work? I doubt it.
petee
Some people just enjoy the process, and you'll always learn something new
e28eta
What about git makes you uncomfortable?
I saw that you didn’t want to use a 3rd party provider, but why not stick a git repo on your VPS (which you are trusting with your data today) and use that to coordinate syncs between your client devices?
williamsss
Made a comment in the thread explaining this https://news.ycombinator.com/item?id=44023090
I expect my PKMS to evolve and wouldn't rule out a self-hosted Git server if I find it's a better option long term.
exe34
> The thought of cyclically migrating notes from one PKMS to another every 5 years, as I had done from Evernote to Notion to Obsidian, made me feel tired.
I had a very similar thought process about 15 years ago, and went on a quest to write my own notes system - after trying out a lot of ideas and giving up, I washed up in emacs and gave org-mode a try. It's actually good enough, and I can grep through my notes easiy, and sync them with git.
mutoyoru
> Obsidian was a great tool for me personally for a long time. But I felt frustrated when I wanted to access my notes on my phone while on-the-go and saw that I had to pay for this feature.
I'm using Syncthing [0] to sync my vault between devices. On my main PC, Syncthing runs constantly in the background. Say, if I made a change, and want to send those changes to my phone, I open the application on my phone and let it fetch the changes. It's not perfectly smooth, like Obsidian's own integration, but I prefer this instead of setting a Git repository. Also, the files don't stay in a remote server.
bryanhogan
I've also been using Obsidian a lot. I recommend the SyncThing Fork over SyncThing.
I myself currently use Google Drive with DriveSync on Android to sync my notes, which works great. Other cloud providers also work well.
I wrote a comparison of different tools to sync here: https://bryanhogan.com/blog/how-to-sync-obsidian
mk12
I do this but additionally with an always-on Raspberry Pi, so syncing works perfectly even if the laptop and phone aren’t able to sync directly to each other. The SyncTrain iOS app arrived just in time for me: https://t-shaped.nl/posts/synctrain-a-rethought-ios-client-f...
trwhite
It’s $4 a month to sync Obsidian notes, for anyone wondering.
galleywest200
This was news to me, so this must have changed recently, as I have been billed more than that ever since I signed up.
I looked at my account, and I am charged $10 but it seems they automatically moved me to a "Plus" plan that has more storage. So no complaints from me really. Either that or the $4 plan is new. [1]
The $4 only comes with 1GB of storage. I would recommend the $10 for 50GB if you use images in your notes.
kepano
The $4 plan was launched March 20, 2024
harvey9
It's a good price but still feels wasteful if you also run/pay for nextcloud or similar.
nsteel
There are plugins allowing you to sync via other means (for free). I don't know how the author fails to realise/mention this. I've been using Remotely Save with WebDAV or years without issue.
And the notes are all just markdown files. If the obsidian software were to disappear you have all your notes. It's fine someone wanted to spend a load of time writing their own software but none of the reasons presented in this piece make sense.
BiteCode_dev
It's not wasteful to support great software.
bryanhogan
I think your comment is very disingenuous. And not just because it's another subscription. That plan does not work if you got more than one vault, and if you use Obsidian you will probably have more than one vault.
TheFreim
> if you use Obsidian you will probably have more than one vault.
Why would anyone ever want to use more than one vault? I just use different folders. The only reason I can think of would be if you are using Obsidian for work where you aren't allowed to use unapproved services.
trwhite
It's a time/cost tradeoff and for me personally $4 has been fine for out-of-the-box syncing between clients for the last ~2 years of using just the one vault. It's now $8 for 10 vaults (I only recently added my second), which is still a relatively insignificant amount considering I spend more than that on toilet paper.
freddie_mercury
I use Obsidian and don't have more than one vault. What a weird thing to claim.
charkubi
Apple allowing iCloud directories to be permanently downloaded fixed this for me.
al_borland
Yep. I use iCloud for my Obsidian vault, set to always be downloaded. I haven’t had an issue, and doesn’t cost me anything (beyond what I’m already paying for iCloud due to Photo Library).
MSFT_Edging
I've been meaning to switch over to syncthing. I currently use insync for google drive syncing on Linux and it's basically instant and constant. I can make an edit on one machine and in the time it takes me to grab my laptop, it's been synced. That said, using google drive which I don't want to do anymore.
Saris
Syncthing is a lifesaver, it's such a useful tool!
There are also several Obsidian community plugins for sync, I use Remotely Save via WebDAV.
moelf
too bad Syncthing is no longer officially maintaining andoird app https://forum.syncthing.net/t/discontinuing-syncthing-androi...
atrus
But the syncthing fork (https://play.google.com/store/apps/details?id=com.github.cat...) has been going for years now, and should have been the first choice anyways.
Nezteb
For anyone who would prefer to get the Syncthing-Fork build from F-Droid: https://f-droid.org/en/packages/com.github.catfriend1.syncth...
blackmoon42
Or you setup a Couchdb and the self hosted live sync plugin. Although the data will reside on a remote server in this case.
ezst
I went deep into to the PKMS rabbit hole a year and a half ago, benchmarked Obsidian and many many others, and settled with Trilium¹ which I can only highly recommend. It addresses all the hosting/deployment requirements of OP² without the quirky workarounds mentioned here (syncthing & al), and makes the kind of "lifestyle scripting" this article about very simple and straightforward.
In my mind and experience, Trilium has a very unique and extensible model that lends itself to "growing with your PKMS": notes is the atom of information, attributes can be used to manage notes as structured and relational data, templates and inheritance provide structure and consistency at scale.
Trilium may not look like much on the surface, but it is incredibly capable while being approachable. Give it a serious try.
¹: https://github.com/TriliumNext/Notes/
²: you can use Trilium local-first/only, or cloud-only, or hybrid. It has its own sync protocol, you just point your instance to a server to sync with, and now you have a master-master replication. All my notes are available offline so I can keep working in-flight, notes shared with others are available via web whether I'm online or not, and I can edit my notes on the web where I don't need offline persistence. All of that is built-in/native to Trilium.
Jarwain
Trillium looks great! I'm curious if it has an outliner mode or something similar? I currently use logseq and the two features I love are how each bullet/block is its own thing that can be cross-referenced and embedded in other blocks and pages, and that my workflow is essentially to have daily journal pages I dump everything into and tag and references/crossreferences are automatically handled and linked to build out a network of things.
I've noticed that trillium has hierarchical notes; is there a view to look at an item higher on the tree and have it also have the contents of all its children?
ezst
> I've noticed that trillium has hierarchical notes; is there a view to look at an item higher on the tree and have it also have the contents of all its children?
You are right that the "atom" of content is the block in an outliner and the Note in Trilium. If you can tolerate⁰ the coarser-granularity, you can make Trilium behave pretty closely to an outliner: notes can be embedded within notes, either manually, or via the "Book" note-type¹ (that essentially renders a tree as embedded notes), hoisting² should be a familiar concept then.
⁰: when researching the topic, I immediately fell in love with outliners, thinking I would never go back to a note-based approach like Joplin which I was using then, but here I am, promoting a note-based solution. Metadata/tags at block level is not something I could get the hang of (I know how to manage collections of notes at scale, but not collections of blocks). ¹: https://triliumnext.github.io/Docs/Wiki/book-note.html ²: https://triliumnext.github.io/Docs/Wiki/note-hoisting.html
williamsss
Another person in the thread recommended it. I'll have to check it out this week thanks!
skeledrew
I find it just a bit crazy that this is still an issue. I too jumped from Evernote when they did their rug pull in 2016, landed on Emacs+org-mode, and never looked back. Since then I've adopted Orgzly for org-mode on my phone, and syncthing to keep it all synced. The only real issue I ever had was the occasional conflict, which I resolved by splitting one of the files further into things that got modified on the laptop (primarily write-ups and my cheatsheet collection) vs things that got modified on mobile (primarily repetitive tasks).
I haven't found use for plugins yet since I'm really just searching, updating tasks and archiving. But if I do need extra functionality, Emacs is the most versatile editor out there, and org-mode is native to it.
holmb
The discontinuation of Syncthing for Android bothers me.
skeledrew
I did see that a while back, but I haven't had any issues so didn't look into it. A quick search just now though shows Syncthing-Fork on F-Droid, so it should be an easy migration if there does come a need. I did the same with Orgzly a few months ago as it too was forked due to the original dev going MIA, and there were a few annoyances I wanted resolved.
AstroBen
> It helped me reclaim control over my privacy, and significantly cut down on recurring costs.
Obsidian has end to end encryption and is $4 a month. I totally relate to it being fun to build your own tools but acting like it's a practical use of time... idk
cypherpunks01
Are there any private note solutions that can encrypt all markdown files against your own Yubikey-generated privkey?
You can do this with SOPS and age encryption and it's amazing, but can't view/edit notes outside a terminal or on mobile very easily that I've found.
Looking for a new solution like this, or maybe obscure configuration for an existing notes app that can support this workflow.
All of the "end-to-end" solutions seems like they just store your encrypted keys somewhere with the application files, sync them around to different machines, etc, and decrypt key with a password. But web frontends can be compromised and the master password intercepted, so I'd like to require a Yubikey touch for each document decrypt, which would make exfiltrating multiple documents more difficult.
williamsss
Encryption is a rabbit hole I want to jump down soon. Other users recommended Triliumnext looks like they do file encryption like that worth checking out https://triliumnext.github.io/Docs/Wiki/protected-notes
Sytten
I really don't want to critisize OP since building stuff for yourself is always a good mentality. But lets be realistic, 1000$ over 10 years is nothing.
It will always cost more if you consider your own time for maintenance long term. Obsidian is one of the most consumer friendly business for note taking out of there, they are not VC so the Evernote comparison is unwarranted IMO.
8fingerlouie
> But lets be realistic, 1000$ over 10 years is nothing
Where is the limit ?
While $100/year maybe doesn't sound like much, it's hardly the only subscription service you have, and they all add up, from your mail provider, office suite, cloud storage, streaming services, phone bills, internet service, etc.
Personally I find $100/year to edit notes on my phone to be a bit much, but then again, I just use iOS Notes.
I am so fed up with everything turning into subscriptions, that I've just completely stopped buying things that are subscription based.
I understand developers need to make a living, but simply throwing a subscription on top of it won't convince me to buy your product. You convince me by making a compelling product, and by continuously updating it, adding new features, which will convince me to buy another version.
al_borland
Personally, I just set myself a budget of $100/month for subscriptions. I was going to drive myself crazy judging every one all the time, so I decided as long as I’m under this threshold I’m not going to stress.
I track the ones I have so I can compare the cost, looking at either daily, monthly, or yearly cost. Sorting by price, I can look them over to judge if one of them seems unusually expensive for what it is, and regularly review to see if there are and I’m not using and need to be cancelled.
My most expensive is the could backup for my NAS. $8/month is about what I pay for Proton, which offers a lot more than just note syncing. So $8 for notes does seem like a lot. Looking at Obsidian’s pricing page[0], the $8/month is for publishing… hosting a website with your Obsidian data. Just syncing is only $4, and there are many free ways to do it. That part of the article felt like the author was trying to justify writing their own tool due to cost. That doesn’t feel justified, and they were stretching… but the good thing is there doesn’t need to be any financial justification at all. Just make your own tool for the sake of making your own tool. That’s good enough.
gr4vityWall
> 1000$ over 10 years is nothing
It's a non-trivial amount of money to a lot of people (myself included). I spend way more than that on Free Software, but I'm not throwing money to a proprietary program if I can choose.
AstroBen
even better: Obsidian is only $480 over 10 years!
SOLAR_FIELDS
FWIW, I’d be more concerned about the implications of the company having my notes in lieu of the pure cost perspective. But the thing is, you can avoid that entirely too by implementing your own sync
misnome
FWIW unless they are outright lying this is a choice, one of the choices when setting up a vault is E2E that you have to enter whenever setting up a new sync, but they are really clear that if you lose this password you are at the whims of your own backups.
They do also publish the “verify the encryption steps” for this.
Of course, depending on your threat model this could be insufficient, but then you probably wouldn’t trust obsidian in the first place.
para_parolu
And implementing local sync for obsidian is just running on docker container
hartator
I think the author point still stands though: Obsidian won’t probably be here in 20 years.
raesene9
For me that's one of the great points about obsidian's choice of all notes being Markdown.
Even if Obsidian vanished tomorrow and the application became unmaintainable, I'd still have all my notes in a text based format.
al_borland
I wish all markdown editors just had their markdown files in a simple folder like Obsidian does.
I wanted to like Bear, which advertises that it uses markdown. But when I went looking for the files, they were locked away in a database. This was many years ago, so if this has changed, I’d be happy to hear it.
I’d love to be able to easily jump between apps, which markdown should allow in theory, but in practice view apps allow for. I don’t find using a text editor to be ideal here as a solution, as I want my notes to look like notes and hide away the syntax when the cursor isn’t on the syntax. Obsidian handles this well, most text editors do not.
no_wizard
I’m a time traveler from 2046 and I hate to break it to you but it’s still running strong.
Couldn’t avoid the computation panic of 2038 but it got by
theappsecguy
Why not? It’s got a huge user base, a massive open source plug-in ecosystem and a sensible revenue model. It’s probably one of the note apps that has the largest community around it outside of Notion, which is heavily VC influenced and is more of a do everything app
MissTake
Neither solution is guaranteed to stick around for 20 years.
As we’ve seen before, it takes one VC investment to change a source available license into something not so friendly and forks are never guaranteed.
TiredOfLife
Can I have those 1000$ if you think that is nothing?
harvey9
Sure, but only in installments over the next 10 years and in exchange I need you to provide a sync service for my notes.
komali2
I'll install https://syncthing.net/ on your computer right now for 100 bucks!
zie
I ditched for [silverbullet](https://silverbullet.md). MIT licensed, markdown editor with embedded lua scripting. It's a PWA app that works offline and syncs well.
williamsss
Holy shit this is awesome
bryanhogan
I don't understand the negative concerns mentioned by the author.
It's quite easy to sync notes to your mobile device using a free method, or using a cloud service you might already be paying for [4].
The great thing about Obsidian is that the notes itself are just markdown files, so you can use them in any other program. This protects you as a user in case Obsidian enters a enshittification phase. A good alternative is haptic [0], it is very similar to Obsidian but can also be used in the browser. Or LogSeq [1], SilverBullet[2] and just Visual Studio Code also work well. For just editing a single file MarkText[3] is also good.
[0]: https://github.com/chroxify/haptic
[1]: https://logseq.com/
OlivOnTech
OP's main arguments to build their own PKMS are: - cost (feature or maintenance) - migration because it won't exist in the future
But their solution is to depend on directus, which can lead to the exact same issues. To my eyes, they just added an extra step...
darkwater
Directius (the foundation on what this was built) is Source Available [1] and not Opensource.
williamsss
Thanks I'll revise the article
> Since my PKMS is hosted online to manage notes across devices, I have multiple layers of security to ensure my notes are kept private. {Screenshot of a login form}
The biggest life hack I can recommend for a self hoster is to set up a VPN on your local network and then just never expose your services on the public internet unless you're specifically trying to serve people outside your own household.
Before I did this I was constantly worried about the security implications of each app I thought about installing or creating. Now it's not even worth setting up auth on a lot of simple services I build because if someone is able to hit their endpoints I'm already in deep trouble for many other reasons.