Joplin Server - Connection Quit Unexpectedly, Database in recovery mode?

Operating system


Joplin version


Desktop version info

Joplin 2.14.20 (prod, linux)

Client ID: 696189f37f7749608c3178be9d81261f
Sync Version: 3
Profile Version: 46
Keychain Supported: No

Convert Text To New Note: 1.5.1
Favorites: 1.3.2
Hotfolder: 1.1.0
Inline tags: 1.2.1
Jarvis: 0.7.0
Math Mode: 0.6.2
Note Link System: 0.8.0
Note Tabs: 1.4.0
Quick Move: 1.1.0

Sync target

Joplin Server


Markdown Editor

What issue do you have?

tl;dr: Synchronizing fails with this error message in the client:

Error: select 'content' from 'items' where "id" = $1 limit $2 - Connection terminated unexpectedly

This error appears in the desktop cllient (linux - 12.14.20) as well as the mobile client (iOS - 12.14.5)

This is what the console on the client displays on a failed synchronization:

Logger.ts:271 11:06:06: Synchronizer: Error: select "content" from "items" where "id" = $1 limit $2 - Connection terminated unexpectedly
    at newError (JoplinServerApi.ts:210:12)
    at JoplinServerApi.<anonymous> (JoplinServerApi.ts:233:12)
    at (<anonymous>)
    at fulfilled (/app/joplin-desktop/…inServerApi.js:5:58)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Logger.ts:271 11:06:06: Synchronizer: Details: GET api/items/root:/:/delta: select "content" from "items" where "id" = $1 limit $2 - Connection terminated unexpectedly (500): {"error":"select \"content\" from \"items\" where \"id\" = $1 limit $2 - Connection terminated unexpectedly"} 

As I record logs for this issue, I notice a different error: "the database system is in recovery mode" - so presumably that's closer to the heart of the issue

Details on Joplin Server

Hosted with docker, using joplin/server:latest and postgres:13.3
Joplin server version 2.14.2 (indicated by package.json inside the docker container)

I've attached some more detailed logs for joplin server. I'll continue troubleshooting there and record my findings here for posterity.
Any insight, hints, experience or solutions to share is greatly appreciated.