Google’s suite of cloud applications, including Google Keep, are extremely convenient. However, if you value privacy and the ability to customize your experience, there is a better option out there.
Goodbye, Google Keep
Google Keep has been my go-to writing and notetaking app for years, but its limited features, combined with my desire to take more control over my data, led me to look elsewhere.
I had a basic list of features I wanted:
- Support for markdown
- Support embedding pictures, videos, and files
- Support for Windows, Linux, and Android
- Self-hosted cloud sync
- Lightweight
- It should support extensions
Eventually, I narrowed down my selection to Joplin, though Trillium and Obsidian are both excellent options that you should consider.
Joplin All The Features I Could Want
Joplin ticks literally all of the boxes I wanted, and it works on every device I care about.
Good Markdown Support and Lets Me Attach Files
Google Keep does support formatting, but using the formatting options requires you to use shortcuts to activate or deactivate them. On the other hand, Joplin supports proper markdown, which makes creating and editing formatting very easy.
Plus, since I’m self-hosting, I can attach as many enormous files as I want.
It Supports Extensions
Google Keep is very much “What you see is what you get.” There really isn’t a way to add functionality to the program beyond what is there natively.
Joplin, on the other hand, has a healthy range of extensions available. And if one isn’t available, you could write your own in JavaScript if you are so inclined.

Related
6 JavaScript Snippets to Polish Your Site
Quick and easy wins for any site you’re building.
The flexibility and extensibility make it much more powerful than Google Keep if you want it to be, though so far I’ve kept the plugins to a minimum, since I want something light.
Joplin Has Multiple Self-Hosting Options
Depending on how much you want to take on Joplin actually lets you approach synchronizing your notes over the internet in a few different ways.
Use Regular Cloud Storage
The easiest way to get things working between multiple devices is to use a third-party cloud storage solution, like OneDrive or Dropbox.
Because Joplin uses end-to-end encryption to secure its files, hosting your notes on a third-party cloud service presents only a minimal security risk—the files are only readable once you decrypt them.
This was the first thing I tried with Joplin, and I found that it worked without major issue. However, a big part of starting this project was to get away from the big tech companies as much as possible.
Use Joplin Cloud
Joplin offers its own paid cloud service with a few different tiers that range from about $2.80 to as much as $7.80 per month if you pay annually.
The more expensive tiers come with better collaboration tools, which let you share and edit your notes with others seamlessly. The more expensive plans also offer more cloud storage and a larger max attachment size.
If I needed to frequently collaborate with others using Joplin, the Pro plan would probably be appealing.
However, I just need a basic note taking app, so I’m going to self-host the entire thing instead.
Self-Host Your Own Joplin Server
Joplin also allows you to host your own server on your own hardware if you want, which gets you as much independence as possible.
This is a bit more involved to get working. There are three main parts:
- You have to host the server.
- You need some kind of database to contain your notes.
- You have to make your server accessible from the internet somehow.
Luckily, you can use Docker and Docker Compose to create the server and the database. Docker Hub hosts all the files you’ll need and goes through the particulars, but most of what you need to do is set the passwords you’ll use to access the database.
I’m not much for Docker, so my permanent installation is going to live in an LXC container on my Proxmox server instead.
Once you have the server running, you need to make it accessible from the internet. Typically, you’ll be advised to use a reverse proxy for that. However, in this situation, I think that is unnecessary, especially if this is the only thing you’re hosting.
Instead, I’d recommend running a lightweight VPN, which allows you to connect to your home network from anywhere in the world and access devices on your local area network as if you were sitting right next to them.
Since the Joplin server will, by default, be accessible to devices on your local network, you can use a VPN to connect to it without exposing anything else to the internet.

Related
What Is the Best VPN Protocol? OpenVPN vs. WireGuard vs. SSTP and More
You have a choice of VPN protocols, but some are better than others.
I like WireGuard for this since it is very easy on system resources, but you could use OpenVPN instead. Both are secure and widely supported.
I hosted my WireGuard server on a Raspberry Pi 4, which is the same device I use to host the Joplin server.
With WireGuard and Joplin set up, any time I want to sync my notes between my devices, all I need to do is quickly connect to my home network. As an added bonus, I can also access a few other things on my local network, like my NAS.