Mounting sqlite as docker volume

Is it possible to directly persist the default sqlite database with a docker volume, rather than mounting the volume to the postgres database? I would assume this would be pretty simple as I would just map the volume to the location of the sqlite database directly on the joplin container, though I can't seem to find any information regarding where that would be.

Hello and welcome to the forum.
Maybe I'm just being slow, but - are you talking about the desktop app? Or server?

The server image, sorry should’ve specified.

I wonder whether it's not mentioned in the docs on purpose. The SQLite is present as an option, but only seems to be meant to be used for development, not when you're actually running the server in production. I guess you could start the container, then look into its file system to find the DB location and map it where you want it. (Sorry I can't tell you exactly - I have never tried. By a quick glance at the source, you're probably looking for one of these file names. Maybe search for *.sqlite?)

I'm also curious to know whether someone is actually running it like this in prod? I wouldn't, but maybe someone does?

Yea that's what I suppose I'll have to do. Most other containers I run use the docker volume + sqlite combo and I don't see any downsides as it still persists the data and full databases don't seem necessary for home setups.

For a simple setup sqlite should indeed work. You can setup the path using SQLITE_DATABASE, then just map this path to a volume. I think some users are doing this on a raspberry pi.

2 Likes

Awesome, is that env variable mentioned somewhere in the docs? I can't seem to find it anywhere.

For now the env variables are semi-documented in this file: joplin/env.ts at dev · laurent22/joplin · GitHub

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.