Joplin Server pre-release is now available

For persistent storage you can mount a folder or use a volume definition ind docker-compose

    ...
    volumes:
      - db:/var/lib/postgresql/data
    ...
volumes:
  db:

1 Like

The default is /var/lib/postgresql/data or you change it with the variable PGDATA

Yes, that I know. What I meant was that in "normal" database setups, one chooses different volumes for

  • data
  • indexes
  • transactional logs
  • replication info

I don't know the Postgres docker container. If everything is located under one dir, everything is fine from a persistence perspective then.
I just meant to say, if the transactional logs are in /var/lib/postgresql/logs you are screwed with above setup.

Update: will be offline for a few hours.

@tessus, no idea what you're talking about. Replication info? Replication is not even supported. A separate volume for indexes?? What?

The Docker image is based on the recommended setup I read about here: https://github.com/docker-library/docs/blob/master/postgres/README.md#where-to-store-data If you think Postgres is getting it wrong, perhaps you should check that with them.

I was referencing and talking about the changes that @florider and @JackGruber added to your Dockerfile. My comment was meant for them, not you. I don't believe I replied to you. I think I clicked on the reply button at the bottom of Jack's most recent post.

Ok sorry my bad, that's why I couldn't make sense of your answers. But looks like you've answered to the main thread (or if would show the small arrow with the message you replied to), which is why I got notifications for it.

It's a bit weird with discourse. Even though I reply on a specific post, it doesn't show it sometimes.

Update: I think it only shows the user one replied to when it was not the last post in the thread.
Update2: I totally get the confusion. It was certainly not my intent.

This is awesome! Thank you for the incredible work!

Over the time I became a Joplin heavy user, syncing to my Nextcloud (the sync folder on NC is ~ 2GB). It works perfect, even if the sync to NC is not the fastest, especially when you start a fresh sync (a nightmare).
I use it in several Win machines as a portable version (because I can define the Joplin folder) and on various iOS and Android device.

The idea of an on Joplin server is great.
Have you ever thought about to provide a version which can be handled from an "normal webspace"?

Something like this:

  1. Necessary files for the server
  2. Config file
  3. Connection to a database
    4.Ready

For me as an user there are several advantages, e.g.:

  • Easy update, simple replace the needed files and everything is up to date. If I get you right, everything is stored in the database, and this will not be destroyed if only the "program" files get updated. This is different in the docker version I think, isn`t it?
  • Access from the web is much easier, people can add subdomains, SSL certs etc. to the URL

What do you think about that?

it seems I have the exact same issue you have. I'm trying to deploy on a Raspberry Pi 4 thus arm64 arch and it fails in the very same fashion. Did you manage to find a workaround ?

Will it be possible to run Nextcloud servers for certain notebooks, but have a shareable notebook with Joplin servers at the same time? I don't want to give up my space on Nextcloud as I'll be storing a lot of information in the coming future on Joplin, with large files. On the other hand, it'd be handy to copy some of my notes (student) and transfer them to the Joplin server notebooks to share with people.

No, sharing will be available for Joplin Server only. Nextcloud was also considered but dropped for various reasons.

Just to clarify. When you say Nextcloud was considered, did you mean in terms of the Joplin Server project? I hope you didn't mean that Nextloud is losing support.

@laurent : What about my idea of a web app, see above?

Is that you idea of a web app? I'm not sure what you mean. Please search the forum as there are many discussions about web apps, and foxmask also implemented one.

We aren't going to add a web app any time soon to the Joplin Server as this quite tricky to implement.

1 Like

See here for more info: ⚠️ Joplin Nextcloud app is deprecated ⚠️ · Issue #4221 · laurent22/joplin · GitHub

1 Like

@laurent:
You get me wrong. I mean, instead of Joplin Server as a docker image wouldn`t it make sense to build a joplin server with docker? E.g. to have it installed on a webspace. I think that would work as you only need the joplin server files, a config file and the database connected.

I hope this and my initial posting make it clearer what I`m looking for.

This is great news, I'll be trying it after the rest of you test it some more (:slight_smile: )

I'll note that I tried nextcloud, and it was so slow as to be useless. Carrying joplin state from pc to pc with a flashdrive works just fine, but that tactic won't work with ios, so I switched to dropbox - which is hugely faster than nextcloud. And of course a commercial lock-in.

So first, I am hoping the joplin server can have performance comparable to dropbox.

Second, anybody have any pointers on a "how to run this on AWS?" guide sheet? It would be an EC2 server, with a docker image, with this on top, right? And then also a storage server?

And thanks all, I am finally unwinding from evernote....

I also failed to build, probably because pi 4 is ARM.
I use this Dockerfile is ok on raspberrypi 4.

Also wanted to wait, but yesterday my Nextcloud decided to break. (Creating new files in joplin's locks or temp directory always results in an error, no idea why.)

I've never built a docker container before. Tried going by the linked docs.

My first issue:

First copy .env-sample to .env and edit the values in there:

I haven't found a .env-sample anywhere in any repo, so I'm not even sure I'm placing it in the right dir. Put it directly into joplin-server, contents like this:

JOPLIN_BASE_URL=joplin.url.com
JOPLIN_PORT=34003

Then I ran docker-compose --file docker-compose.server.yml up (without --detach, I wanted to see what it does.

It pulledsome docker images, then seemingly started to install apt packages. (I'm running this on Ubuntu Server 18 LTS.)
Displayed in red: debconf: delaying package configuration, since apt-utils is not installed, but continued.

Then finished with this:

 ---> 4a7735f1f6ca
Step 4/31 : ARG user=joplin
 ---> Running in 37e4aac4bf6b
Removing intermediate container 37e4aac4bf6b
 ---> 363cbfb29fe5
Step 5/31 : RUN useradd --create-home --shell /bin/bash $user
 ---> Running in 0e5683e2a702
Removing intermediate container 0e5683e2a702
 ---> 40dd2e3bf4ee
Step 6/31 : USER $user
 ---> Running in 7f6d983ade3b
Removing intermediate container 7f6d983ade3b
 ---> 57ab04de372f
Step 7/31 : ENV NODE_ENV development
 ---> Running in bd6711a06689
Removing intermediate container bd6711a06689
 ---> 359649296f6d
Step 8/31 : WORKDIR /home/$user
 ---> Running in ae1bce3f5464
Removing intermediate container ae1bce3f5464
 ---> 95915f4e16c5
Step 9/31 : RUN mkdir /home/$user/logs
 ---> Running in 5d60995a5e7b
Removing intermediate container 5d60995a5e7b
 ---> b646e2183aa8
Step 10/31 : COPY --chown=$user:$user package*.json ./
ERROR: Service 'app' failed to build: unable to convert uid/gid chown string to host mapping: can't find uid for user $user: no such user: $user

Am I supposed to set some $user var not mentioned in the docs? Am I missing something?

Until I solve either this, or the nextcloud isue (improbable), no Joplin syncing for me. Whoops. :sweat_smile: