Be aware newbie - migrating server from one version to another

Operating system

Linux

Joplin version

3.4.5

Sync target

Joplin Server

What issue do you have?

Ignorance is a bliss....

I have a locally hosted / docker installation of joplin. Several clients.
When I did the installation (March 2025) I selected FILE_STORAGE. In my ignorance I thought I could just backup the data directory with all my data. Did not realize the sqlite database is contained in the docker image/container and not in FILE_STORAGE.

I updated to latest docker image and now my config is gone !! :slight_smile: ....still I have the directory tree with my data.

I can copy files from the old image (I presume db-prod.sqlite) and copy into the new one but I am scared that maybe the database schema has changed.

I have 2 goals

  1. be able to refresh joplin server when required
  2. easily backup my data.

I am migrating everything to Proxmox. My ultimate goal is to run the whole thing in a container and backup the container image as a backup strategy, including config and data, in one LV snapshot.

question is

in the above scenario, how do I upgrade versions/docker joplin server image keeping my data and config in sync ?

Thanks

Julian

I lost my sqlite database when I recreated the container. I still have the tree directory with all the files. Is there a way to go back in time ? is there a way to recreate the sqlite database provided I point to the relevant /mnt/joplin-data folder

Any help appreciated.

I still have 2 clients (linux desktop and android) with up to date data. Can I create an empty server instance and have my clients populate the database ?

If you have at least one client device with up to date data, you can start from scratch from there. I recommend the linux desktop over the android device because the latter might not have downloaded all resources depending on your sync setup.

On your linux desktop, first export your data as JEX to be safe, then ignore it. Spawn a brand new joplin server. Sync your desktop to it. Reset all your other devices (either uninstall and reinstall the app, or create a new profile) then sync them to your server. If you do not reset your devices first, you will duplicate your dataset.

In my experience it's much easier to start over from any clean client device than from a broken server.

Good luck! :blush:

By the way, a useful guide for starting over: How to fix synchronisation issues and start over

Personally I prefer to keep control of the version, because one time an unexpected auto update broke my server at the worst time possible.

Thus I hardcode the version in the image: joplin/server:3.4.2 line of my docker-compose. To update, I edit that line, then docker-compose up --detach.

easily backup my data

Just make sure your builtin daily backup (JEX export) on your desktop is working. It's much easier to backup data on your client than on your server.

great !! many thanks for your support.

Can I make the export / backup automagically ? or do I need to do manual ?

I am in the process of transferring all my infra into a proxmox server and one of the goals was unattended automatic 3-2-1 backups.

Your Joplin Desktop app normally has the Backup plugin installed by default. It exports your data daily to JEX file in a path you can see in the plugin settings. Ofc don't take my word for it, double check it is actually working. Then you could for example Syncthing that backup folder to a remote computer, or use your favorite syncing/backup tool.

1 Like

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