Joplin Server pre-release is now available

I like the idea of a server. But why always nerdy solutions? To become popular and successful you need something working out of the box, usable for the mass. No one wants to deal with docker files.

Do you plan to publish it later on docker hub as a full all in one container? Keep it simple

A post was split to a new topic: Help with docker-compose

2 posts were split to a new topic: Docker not working

To everyone, please don’t put support requests in this thread as that will make it hard to track them. Instead open a new topic. Thank you.

1 Like

New Joplin user here. Would it be technically possible for the project to provide an AppImage for the Joplin server as well in Releases on GitHub?

I am using the AppImage for Joplin Desktop and I'm super happy it is provided: my Linux distro does not package it and my knowledge of node doesn't extend past copypasting build commands from a README - first error would be a show stopper and I'd have to come complain either here or on GitHub. Neither am I familiar with Docker.

Thanks.

Joplin Server requires a DBMS so it can't really be packaged as an AppImage.

Excuse me my ignorance, I don't have knowledge to look at the code and see what database backend(s) is Joplin Server currently using, but what about sqlite?

It's a server, so it's meant to serve multiple applications. For that it needs to use a proper DBMS, Postgres in this case.

If you only need to run it locally, I guess you could simply use the existing file system sync.

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: