this post was submitted on 08 Jan 2024
64 points (93.2% liked)

Selfhosted

40246 readers
563 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
64
submitted 10 months ago* (last edited 10 months ago) by jaykay@lemmy.zip to c/selfhosted@lemmy.world
 

Hi guys! I think I'm over Joplin. Don't get me wrong, it's simple, it works, but… why is it Postgres db…. I have the server on a small box with like 250 GB of space and backing it up with kopia to Backblaze with free 10 GB, so I'm a bit storage cautious.

With each snapshot, it seems like a good chunk of the database changes, even when I don't use Joplin that day. That results in kopia backing up those changed files, and backups keep growing. Right now the Joplin database is like 200Mb, BUT when I export the notes from the app… all of them weigh 2Mb… including images. Yes there is versioning of notes, but they shouldn't be that big after one-two months lol.

I know I know, I'm being a bit weird about it, but I'm getting daily notifications about backups and I see how they grow each day.

Anyway, do you have any alternatives that have an app on iOS and on Linux? Or should I just use Apple Notes in the browser? Thanks

EDIT: The answer was easier than I thought. Just don’t back it up, it’s synced which means each device has a copy of it anyway so there is not really need for it, thanks @vvv@programming.dev !

top 50 comments
sorted by: hot top controversial new old
[–] fenndev@leminal.space 29 points 10 months ago (10 children)

Have you looked into either Obsidian or Logseq?

Obsidian is not open source, but uses Markdown for notes just like Logseq. Very popular overall.

[–] Opisek@lemmy.world 7 points 10 months ago

I also switched from Joplin to Obsidian after about half a year. There's an open-source plugin that lets you self-host a syncing server.

What I found paradoxical is how easy it is to mod and write plugins for Obsidian compared to Joplin. I would've thought that modifying the open-source candidate would've been easier, but nope.

[–] krash@lemmy.ml 3 points 10 months ago

I second obsidian. I was on the verge to jump onto logseq, but found its way of handling notes to be... different. I also felt a dislike of anytype where I don't really have control over my notes. Obsidian clicked with me from the start and felt right. So I went with it, even though it's not FOSS (which is usually a hard requirement from me).

[–] ikidd@lemmy.world 1 points 10 months ago (2 children)

Literally every note app uses markdown. I'm not sure why people point at that for Obsidian like it's a unique feature.

[–] Father_Redbeard@lemmy.ml 9 points 10 months ago (2 children)

Not every one stores the files as plain text files in markdown format like Obsidian. Logseq does I believe, but Joplin stores it all in database files which require an export should you decide to leave that app in favor of a other. With Obsidian you just point the new app at the folders full of .md files and away you go. That was the main selling point for me.

load more comments (2 replies)
load more comments (1 replies)
[–] jaykay@lemmy.zip 1 points 10 months ago

Yeah, I've been on Obsidian before, but self-hosted syncing on iOS is a bit finicky.

I've heard good things about Logseq, but it's certainly a waaay different approach to notes. I'll have to read more about it. Thanks :)

load more comments (6 replies)
[–] TCB13@lemmy.world 23 points 10 months ago (3 children)

why is it Postgres db…

Why on earth are you using that? Just use WebDAV, you'll only be required to have some WebDAV server such as Nginx and it will sync GB of notes without issues. https://joplinapp.org/help/apps/sync/webdav/ https://medium.com/learn-or-die/build-a-webdav-server-with-nginx-8660a7a7311

I would've NEVER ever moved to Joplin if it wasn't able to sync with WebDAV. I'm not into having a special daemon running on a server for that task, makes zero sense.

[–] jaykay@lemmy.zip 5 points 10 months ago (2 children)

I need to look into webDAV then :D

[–] chrisg@aus.social 1 points 10 months ago* (last edited 10 months ago)

@jaykay @TCB13 Hetzner has low cost storage servers with SMB, SFTP & WebDAV access. Not quite self hosted but a hell of a lot better than [insert proprietary privacy invasive mega corp]

load more comments (1 replies)
[–] azron@lemmy.ml 1 points 10 months ago

This is the way.

load more comments (1 replies)
[–] knF@lemmy.world 13 points 10 months ago (2 children)

Did you know that you can use Joplin on a standard webdav server? Basically it just takes up the space of the data itself. I have it on a Caddy server and works like q charm synching between Windows and Android client

[–] observantTrapezium@lemmy.ca 3 points 10 months ago

Came here to say just that. The WebDAV synchronization target is great.

[–] jaykay@lemmy.zip 1 points 10 months ago

Yeah, I'm yet to play around with WebDAV or learning what it actually is haha Will look into it, thanks :)

[–] Gutless2615@ttrpg.network 7 points 10 months ago

Yeah the lack of actual .md files is what killed Joplin for me. Obviously not FOSS but there are self hosted options for Obsidian.

[–] Cyber@feddit.uk 7 points 10 months ago (2 children)

Logseq. That is all. (Oh, and syncthing...)

[–] jaykay@lemmy.zip 2 points 10 months ago (4 children)

I find their paradigm... different and not entirely sure if I like it yet, need to look into it more :)

load more comments (4 replies)
[–] nobloat@lemmy.ml 1 points 10 months ago (1 children)
load more comments (1 replies)
[–] ikidd@lemmy.world 6 points 10 months ago

Use Nextcloud AIO mastercontainer, set up joplin with Nextcloud sync (which is webdav). Use the builtin backup function in Nextcloud AIO container to backup nextcloud and the files it contains that are your joplin notes (and anything else you use nextcloud for).

I even use Nextcloud for its Gpoddersync app to keep my podcast subs/progress from Antennapod.

[–] letsgo@lemm.ee 6 points 10 months ago

Oops I thought you were going to be ragging on an early jazz genre.

[–] Unlearned9545@lemmy.world 6 points 10 months ago (1 children)

Connect it to a DAV server and you dont have to learn a new software.

[–] jaykay@lemmy.zip 4 points 10 months ago

Gotta learn about that DAV thing everyone is talking about ig haha

[–] indigomirage@lemmy.ca 4 points 10 months ago* (last edited 10 months ago)

Can you not just backup the pg txn logs (with periodic full backups, purged in accordance with your needs?). That's a much safer way to approach DBs anyway.

(exclude the online db files from your file system replication)

[–] vvv@programming.dev 3 points 10 months ago (3 children)

Why do you need to back up that server data? The great thing about joplin, is that the full content of your notes (and history) is distributed, like a git repo. As long as you have one device left with your notes, everything else can be bootstrapped from there. If your sync server burns down, start a new one and sync your notes to it again.

[–] jaykay@lemmy.zip 1 points 10 months ago

True, should've thought of that. Well, at least this gives me a chance to explore and learn alternatives :P

[–] BearOfaTime@lemm.ee 1 points 10 months ago (1 children)

Genuine question - doesn't this leave you open to loss of data from database corruption or an app failure (or human error, accidentally deleting a bunch of pages, for example)?

I've used "sync as backup" a lot, and run into these kinds of issues (it's my current OneNote "backup" strategy). I'm just not familiar enough with Joplin to know what risks this exposes.

[–] jaykay@lemmy.zip 1 points 10 months ago (1 children)

There is a fail-safe switch in settings preventing the deletion of local copy if the remote is empty

[–] BearOfaTime@lemm.ee 1 points 10 months ago* (last edited 10 months ago)

Well that's something anyway, though I wouldn't rely on it - sometimes things happen.

I'm sure there's a way to do proper backups of database data (e.g. Incrementals, full, etc), that would get the changes.

That's always handled by other teams for systems I've deployed, so I'm joy familiar with current approaches.

load more comments (1 replies)
[–] bluespin@lemmy.world 2 points 10 months ago (1 children)

I recently switched from Joplin to Obsidian for different reasons. I'd prefer something FOSS, but so far I've been happy with the transition. Since it works with plain markdown files, it would fit your use case

[–] jaykay@lemmy.zip 5 points 10 months ago* (last edited 10 months ago)

I've switched from Obsidian to Joplin actually, cos syncing was a chore and Joplin is more straightforward imo

[–] atzanteol@sh.itjust.works 2 points 10 months ago (2 children)

I think you need to learn more about how databases work. They don't typically reclaim deleted space automatically for performance reasons. Databases like to write to a single large file they can then index into. Re-writing those files is expensive so left to the DBA (you) to determine when it should be done.

And how are you backing up the database? Just backing up /var/lib/postgres? Or are you doing a pg_dump? If the former then it's possible your backups won't be coherent if you haven't stopped your database and it will contain that full history of deleted stuff. pg_dump would give you just the current data in a way that will apply properly to a new database should you need to restore

You can also consider your backup retention policy. How many backups do you need for how long?

[–] seang96@spgrn.com 2 points 10 months ago

Setup backup hooks with velero and kopia on a HA postres cluster this week. Biggest DB is Lemmy and that shrinks by a factor of 10 using pgdunp with custom archive. Dumping is 100% the way to go!

Similarly I should do this for my sqlite applications, it looks like kopia can't do incremental backups with them and thinking about it, it makes sebse, likely sane reasons you mentioned.

[–] jaykay@lemmy.zip 1 points 10 months ago

You are right, I should. They are a bit more complicated than I anticipated, and apparently I'm doing everything wrong, haha. I have backups set up to go 2 years back, but I'm checking backblaze occasionally to check, so it shouldn't be an issue. I have two months so far lol Thanks for the write-up :)

[–] DichotoDeezNutz@lemmy.world 2 points 10 months ago (3 children)

I'm going to start developing my own alternative, is there any features that you really need/want?

I was planning on making this self hosted via docker with the option to save to Google drive.

https://github.com/ssebs/PadPal-Server

[–] Voroxpete@sh.itjust.works 6 points 10 months ago* (last edited 10 months ago) (1 children)

Here's what I would be looking for;

  • Decent mobile app (more than happy to pay for this if it's a one time fee)
  • Bonus for a OneNote / Evernote style Android widget. Being able to scroll through and quickly select from my most recent notes in the OneNote widget is really helpful.
  • WYSIWYG editor on mobile and desktop (why in God's name does every Foss notes app insist I use a markdown language?) with bullet points, numbered lists, bold, italic, underline, strikethrough, and headings.
  • Checklists (as in, ability to add checkboxes to notes)
  • Ability to create an arbitrarily deep folder structure
  • Tags would be nice
  • Import from popular apps like OneNote, Evernote, or Joplin is basically essential at this point. A lot of us have way too fucking many notes to move by hand.
[–] DichotoDeezNutz@lemmy.world 3 points 10 months ago

Most of those are on the to-do list! I definitely like the Google keep style widget but want better UX when typing out bullet lists.

Thanks for the suggestions

[–] chrisg@aus.social 5 points 10 months ago

@DichotoDeezNutz @jaykay Saving to a network drive _OTHER_THAN_ proprietary US mega corporations would be essential for me (eg SFTP, WEBDAV)

A mobile client is vital. I use mobile devices 95%

[–] jaykay@lemmy.zip 3 points 10 months ago

Please don’t follow joplins folder/notes view. It’s so stupid that folders and notes are in different panels on the left. Just make it a normal list.

I like joplin for its simplicity. No bells and whistles like obsidian.

Docker container would be awesome, but I don’t care for Google drive personally :) If you make the notes folder a volume I can bind to that would be great, as long as they’re normal files haha

[–] gazby@lemmy.dbzer0.com 2 points 10 months ago (1 children)

If you're after some help with the WebDAV part I set it up for myself recently and would be happy to help adapt my stuff to your stack (mine is Apache + compose, but would be about just as easy with anything else). Reply here or DM any time 💯

And good on you for being turned around on your original premise and being so gracious about it in the comments mate 👍

[–] jaykay@lemmy.zip 2 points 10 months ago

Awesome, thanks! For now I’ll stay on the db without backups. Joplin saves copies to other devices so if something fails, I still have the other devices :)

[–] smileyhead@discuss.tchncs.de 2 points 10 months ago

Notesnook is great. Not yet self-hostable (server is open source), but they are working on it.

[–] 2xsaiko@discuss.tchncs.de 2 points 10 months ago

Seconding what others have already said. You should ABSOLUTELY NOT directly back up /var/lib/postgresql if that's what you're doing right now. Instead, use pg_dump: https://www.postgresql.org/docs/current/backup-dump.html

This should also give you smaller and probably more compressible backup sizes.

[–] entropicshart@sh.itjust.works 1 points 10 months ago

I self host Outline with storage connected to a Minio instance that I use as S3 storage for several applications.

I loved the ability of writing in markdown form, but a simple and intuitive design, with the ability to share a whole collection, a subset of pages, or a single page publicly without dealing with a bunch of overhead.

[–] kristoff@infosec.pub 1 points 10 months ago

What is your 'deleted files' policy? How long do you keep them? I had a similar issue but then found out that the nextcloud cron-process wasn't running so files in the 'deleted files' folder where never really deleted.

load more comments
view more: next ›