Joplin Server & Docker: Serval Questions

Joplin Server latest & Docker on Ubuntu 22.0.4 LTS

Hi,

I managed to run Joplin Server on Docker via Portainer stack.
Currently it is just in a test enviroment, but before moving it to production I have some questions.

  • Currently Joplin Server is running on http://myIP:22300 (Ports in Docker 22300:22300. I want to use Nginx Proxy Manager to switch to https://wiki.domain.com. When setting up docker in the Portainer Stack what is the Base I have to enter for this case? My current http://myIP:22300 (Ports in Docker 22300:22300) or https://wiki.domain.com (with 443:22300)?

  • Is it possible to give the Joplin Server another name defined in the yaml file? Instead of Joplin-server-app1 , e.g. just Joplin? How?

  • Is it possible to run 2. separate joplin container on the same docker instance? E.g. one for private, one for business?

  • How do I backup the joplin server data? Is everythign stored in the database? Best ways to backup it?

  • What`s the best procedure to upload existing Joplin notebooks and notes (10000s) to a fresh Joplin Server install to avoid data los? Currently I use Joplin Portable with sync to my Nextcloud, which should be changed to sync with my Joplin Server.

Can anyone help?

Thanks

You can run multiple servers on docker (you'll need to sort the ports etc), but I think with joplin server you would just create a different sync ID, one for personal one for business? Not sure how normal profiles would work which could also be an option.

Regards the server data, on the docker host, I cd to backup folder I want, then run:
docker exec joplin-server-db-1 pg_dump -U joplin joplin > ./db_dump_$(date +%Y%m%d)
This dumps the whole Joplin postgres db

I host locally, so not sure which access you would have

Thanks for the feedback and the solution to back it up. Do you know also how to restore it:)?

Perhaps others can contribute to my other questions...

perhaps laurent could help?

seems noboday is using joplin server on docker...:frowning:

It is unlikely that "nobody is using joplin server on docker." It is more likely that as you have asked so many questions no-one has been in a position to take the time to answer.

... what is the Base I have to enter for this case? My current http://myIP:22300 (Ports in Docker 22300:22300) or https://wiki.domain.com (with 443:22300)?

You BASEURL will be https://wiki.domain.com (you do not need a port number if you are using https on port 443)

Is it possible to give the Joplin Server another name defined in the yaml file? Instead of Joplin-server-app1 , e.g. just Joplin? How?

In the app section try container_name: joplin. I have not tried it but this seems to be what this setting is for. I just searched the Internet for "docker compose define container name".

Is it possible to run 2. separate joplin container on the same docker instance? E.g. one for private, one for business?

As @kja999 says, it would be easier to use two different accounts on the same server but you can run two. You cannot use one client to access both servers (or accounts) without using client profiles. Also as @kja999 states, the two servers cannot both be connected to port 22300 on the host machine. Choose another unused port for one of them. My knowledge gets sketchy here as I have never tried this, but you may need to run a second PostgreSQL container as well and the ports would need modifying.

How do I backup the joplin server data? Is everythign stored in the database? Best ways to backup it?

Already answered above

What`s the best procedure to upload existing Joplin notebooks and notes (10000s) to a fresh Joplin Server install to avoid data los? Currently I use Joplin Portable with sync to my Nextcloud, which should be changed to sync with my Joplin Server.

Before doing anything, backup your data at the client. File > Export all > JEX - Joplin Export File

If you have never synced with a Joplin server before your client will have priority and connecting it to the server will send your notes to the server. If you have connected to a Joplin server before the server will have priority and as it is empty it will likely delete your local data (hence the backup). At least that is how things worked back when I was testing my server. As I understand it Joplin server does not sync with clients like a WebDAV server so you won't be able to copy your Nextcloud data to the Joplin server. Unless anyone has a better suggestion it looks like you will be syncing your notes from client to server just like when you first linked to your Nextcloud server. With tens of thousands of notes this will take time.

It would probably be best not to test a connection to a new server when the client contains 10,000+ notes. Wherever your joplinportable.exe file is there will be a folder called JoplinProfile. Ensure Joplin is fully quit (File > Quit) and rename JoplinProfile to something like JoplinProfile_old or move it to somewhere safe. When you start Joplin portable again it will create a new JoplinProfile folder and the client will be as new. Alternatively, put a copy of JoplinPortable.exe in another folder and, after quitting the original copy, use that. Use this client with the new server using just the default notes to make sure everything is working. Then import the JEX file you created. Sync. If you have more than one client it may be best to reset them and let them import the notes from the server after the first client has finished uploading. It would be a pain to have taken all that time uploading the notes just for another client that also contains the notes to upload them again, duplicating them.

Changing a sync server is not a minor undertaking. If it all goes horribly wrong, replacing the JoplinProfile folder with the original one or reverting to using the JoplinPortable.exe in the original folder will get you back to where you were and still syncing with Nextcloud.

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