I switched over to Bear.app some time ago after a lengthy search for a note-taking app. At the time, Bear.app made sense since I was only using macOS and iOS daily, and it worked well for that.

Joplin

After moving to a new job that required me to sit behind a Windows computer, I needed to find a replacement, and after trying out different applications and services, I ended up on Notion.

Notion was ok and suited my needs though their applications outside of the web apps were simply wrappers for the web app and didn’t run all that amazingly well at times. I stuck it out but between that and the additional features that I didn’t need or use on Notion I went about my search for a replacement again.

I was hoping that Bear.app would finally have a web app available, but their development moves at a snail’s pace, so who knows when it will be released? I will keep them on my radar as I think they have a fantastic product, but since I don’t know when it will be available, I can’t continue waiting and hoping.

Now, I need to open this search up again to find a cross-platform note-taking app or one that has a web app. I liked the interface of Bear, and finding a suitable and still minimal replacement seemed to be a challenge.

That was until I tried out Joplin again. In the short time between when I tried it before and again now, they tightened things up a bit more. On top of that, they now have their syncing service and self-hosted server ( The self-hosted server is currently in beta at the time of this post).

I decided to try Joplin again and imported all of my notes which were exported from Notion as markdown. The import was not perfect, but I blame much of that on the naming of files that were exported from Notion. It took me a few hours to get everything sorted and renamed in Joplin, and I still have a folder with old notes that need to find their permanent home, but it works for now.

After I had a majority of the notes situated within Joplin I decided to give the sync feature a try. Joplin gives you multiple services that you can use for your syncing including their paid service. Since I am cheap and was looking for a way to avoid any subscriptions I tried out syncing all the notes over to Dropbox (While I have not used Dropbox in years, I was an early adopter and have a pretty decent amount of free space from referrals over the years). The sync fired up and started encrypting and copying over all the notes, this took quite sometime and I had to make sure that my computer didn’t go into sleep mode as it paused when that happened.

The sync to Dropbox finally completed, so I then setup my iPhone 14 Pro Max with Joplin and added in the sync credentials and off that went. This took and ungodly amount of time to sync over and was even worse when the phone went to sleep so I disabled that on my phone and let it sync almost my entire shift.

Joplin on iOS showed that the sync had been completed, but when comparing the notes, many of them were not showing yet on my phone. This defeated the purpose of syncing when it never actually finished. I continued to hit the synchronize button throughout the evening, and it eventually fully reflected all of the notes on both my laptop and my phone. This was not at all ideal, but it was entirely free and “working”. I kind of simmered on this for a couple of days and added Joplin to my other devices.

After a few days of being annoyed by the sync issues with Dropbox, I decided to look into their beta version of the self-hosted server. It was able to run in Docker, and since I already had Docker running many other services on my server at home, I decided to fire it up.

I may note that I am behind the curve on using Docker compose files so I pieced together a docker create command as follows to get things up and running… I will eventually move everything over to the other format when I have time.

docker create --name joplin -e PUID=1000 -e PGID=1000 -e TZ=America/Detroit -p 22300:22300 -v /mnt/iscsi/docker/joplin/config:/config -e APP_PORT=22300 -e APP_BASE_URL=https://DOMAIN.COM -e DB_CLIENT=pg -e POSTGRES_PASSWORD=XXXXXX -e POSTGRES_DATABASE=postgres -e POSTGRES_USER=postgres -e POSTGRES_PORT=5432 -e POSTGRES_HOST=POSTGRES_HOST -e MAILER_ENABLED=1 -e MAILER_HOST=SMTP_SERVICE -e MAILER_PORT=587 -e MAILER_SECURITY=starttls -e MAILER_AUTH_USER=MAIL_USER' -e MAILER_AUTH_PASSWORD='MAIL_PASSWORD' -e MAILER_NOREPLY_NAME=Joplin -e [email protected] --restart=always joplin/server:latest

Joplin Server also uses Postgres so I had to fire that up as well using the following

docker create --name postgres -e PUID=1000 -e PGID=1000 -e TZ=America/Detroit -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_DB=postgres -e POSTGRES_PASSWORD=XXXXXX -e PGDATA=/var/lib/postgresql/data/pgdata -v /mnt/iscsi/docker/postgres/data:/var/lib/postgresql/data -v /mnt/iscsi/docker/postgres/config:/config --restart always postgres

Once all said and down I was able to access the Joplin Server web interface and add my user to it. The web interface is pretty minimal which I kind of expected as there was really no reason for it to be a bunch of bells and whistles.

In Joplin, just to be safe, I exported all my notes as a JEX file for safekeeping and then changed the sync server over to the Beta Joplin Server and added my credentials. I started the sync, and off it took. Worlds faster than the Dropbox sync initially took, and I could monitor the status on my server via the logs, as well as the Joplin Server WebUI.

Once the initial sync had finished, I went to my other devices and disabled the Dropbox sync, removed all the notes and then set up the Joplin Server sync and brought all other devices in line with my laptop. Upon editing a note I was able to hit sync which was pretty instant, then change devices and hit sync and the changes appeared.

There is an option to set the sync intervals within Joplin which I adjusted to different intervals based on how often the machine was used, for my phone and laptop and work desktop I have it syncing much more often then my iPad for instance.

I have been using Joplin with the self-hosted server for a couple of weeks now and I think I will continue to use it for sometime, perhaps even after Bear has a web app … if that ever happens.