Joplin Server pre-release is now available

Hi laurent, this looks awesome. I came here looking for an alternative to Evernote and wandered down the server thread, since for me syncing would be important. One thing you may want to consider is splitting out the non-database server code as a package (maybe npm package) for those interested in that approach. It would seem to me there could be a "market" for people who just want to install the server in a node server, set some config variables and have it point to an existing pg database. If the db is a sticking point, separating it out might make things easier for some.

Perhaps the docker image could use that package as part of the config. For me, that is more or less the approach I would try by cloning the repo, setting up a server and manually configuring it.

Indeed, as was also suggested above by @scottjl, this is what I'm planning to do for the next release. The Docker image will take parameters, which will allow you to connect it to any existing database. I'll also still provide a docker-compose file but mostly as an example of how to set it up.

2 Likes

I also really like the complete examples provided in the nextcloud GitHub, for instance this one which I use:

They provide a solid base which has everything you need to get started (nextcloud, letsencrypt certificate and apache reverse proxy). I, for one, would really appreciate something similar for joplin!

In any case I'm really looking forward to giving this a whirl!

1 Like

I second the notion of a prebuilt Docker image that you can pull in a similar way as the example above. Right now it is a little (ok, a lot lol) above my head but I think a more generic solution might just make it within reach to the masses :slight_smile:

1 Like

Besides PostgreSQL, does the Joplin Server (and its Docker image) support MySQL/MariaDB? If not, is there any plan to do so in the near future?

There's no plan to support MySQL for now.

1 Like

Hi! Are there plans to support running the plugins server side? For those that runs cron tasks for example.
Thanks for the awesome work!

This is a slight problem for me, because I already have 3 database systems running on my server (IBM DB2, MongoDB, MySQL). I don't have the resources to install yet another DBMS (this means that I also don't have the resources to run Docker).

While I agree that Postgres is better than MySQL, I just can't install it, which means that I won't be able to run the Joplin server on my server.

I'm currently still fighting off a nasty flu, but when I'm better I will run some tests using MySQL instead of Postgres. If the db access is abstracted it's just a question of establishing a connection to MySQL rather than Postgres.

Yes Knex supports MySQL but the issue is often in the details. Sooner or later small differences between the DBMS end up biting us and one release might work with Postgres, because it would have been tested with it, but break with MySQL, or introduce things like data being silently cropped and so on. So the only reasonable way to support two RDBMS is to have automated tests for both, and that's hard to do.

You're free to use MySQL anyway, it's just a config variable to set, but for now that won't be officially supported.

1 Like

It's a completely different app server-side, so plugins are not compatible.

1 Like

I agree. However, as long as there isn't any DDL and/or SQL specific to Postgres, I would imagine there won't be any problems.

Not really sure why. We only have to run the tests twice. Once against Postgres and the second time against MySQL.

I will do some experimenting when I'm better.

This is totally understandable.

Another question. Is there a way to assign the listening port of the Joplin Server for Postgres DB? I need to install the Postgres Docker image with a different port because port 5432 is already used by the system. Thank you so much for your continued dedication. :blush:

Yes, but from the next release.

1 Like

Sooo - after spending the day trying to make this work - there's a few dependencies that were proving tricky - I was able to build an image for the arm64 architecture.

As I don't have a Raspberry Pi, would love to have someone test it and confirm that it works. The image is under florider89/joplin-server:master with the documentation of the environment here for now.

Once the next release for the server is published, I'll make this architecture available under the latest tag as well as the master tag is really just for testing.

@florider, keep in mind that a few things are going to change in the next release, in particular with regard to env variable support. You can follow the latest changes in this branch: GitHub - laurent22/joplin at docker_server_update

1 Like

That's the one that the master docker image tag is based on at the moment :slight_smile:. Been testing it all day today, seems to work just fine.

1 Like

5 posts were split to a new topic: Error running Joplin Server on RPi

Joplin Server has been updated and is now available on DockerHub:

Docker Hub

The README has also been updated with info on how to set it up with Docker, how to set the env variables, etc:

joplin/README.md at dev · laurent22/joplin · GitHub

If you notice any issue, or anything that could be clarified or made easier, feel free to let me know!

5 Likes

Hello I tried to run it on a raspberry pi 4 and I got an error when trying to run it:

$ sudo docker run florider89/joplin-server:master
[sudo] password: 
Unable to find image 'florider89/joplin-server:master' locally
master: Pulling from florider89/joplin-server
docker: no matching manifest for linux/arm/v7 in the manifest list entries.

Sorry I have limited exposure to docker but happy to help you test on this architecture if you want.