Joplin Server pre-release is now available

  1. I do not have my test system running at the moment to confirm but I believe that you can already unshare a note. IIRC a shared note when viewed in the note list has red(ish) text. Right click and select share again and the dialog will show. Now there is a share icon to the right of the note title in the dialog box. Clicking this seems to cancel the share. As for re-encryption, I don't know as I haven't tried to test it.

  2. I suggested this as well in a post somewhere. Seems a good idea to me.

  3. In another post somewhere @laurent has mentioned introducing some kind of share management page.

2 Likes

Good to know these have been thought about, hope to see them in the future!

Another thing I was thinking would be really useful, is some sort of non-rendered format view. If I wanted to share this with somebody that then wanted to copy the note into their Joplin notebook, they'd have to copy the rendered code into a markdown render view note, and rely on the parsing to work it out. Seems like a lot of extra processing, when most likely the view is being rendered from the markdown in the first place. Would be nice to have a raw md view in the shared note.

1 Like

I initially thought that your idea seemed simple (to a non-programmer!), hence the "like". Then I wondered how it would handle images as if it was a "markdown view" how would it handle internal references for images which have been translated to html for the shared note. These image resources would not be available to the recipient. So would the "downloadable" version now have to be a JEX file? Now it seemed to be getting complicated :slight_smile:

I then thought, if the other person has Joplin then they could just use the clipper. I have only tried it on Linux but clipping a shared note, either a simplified or complete clip, does not download images, unlike pretty much any other web-page???

Markdown for an image is created but it looks like this:

![](https://joplin.example.com/shares/GRa2XkBwU2wcvIrEa2Iook0jSFTIT79C?resource_id=45c8b4afae9a421c9b4b9a315aacb0f3&t=1626641028740)

and does not produce an image, even when the share is still "Live"

This probably needs a bit more testing but it seems quite ironic that the HTML page Joplin Server produces is not "clippable" by Joplin!

Yes, indeed it's a bit more complex than it appears on the surface.

I guess with the images, there's ways around it - complex to less so, in order:

  1. The easy option is just to forgo the images altogether. Quite simple.
  2. Get the web clipper working on Joplin shared notes.
  3. Export the item as a JEX file - probably the best combination of the lot.
  4. Have a markdown version where the markdown is pasted into a Joplin note and the images are downloaded locally after pasting. This would require architecture changes though and sounds a bit overengineered.

I don't recall seeing it mentioned up-topic--does the server support any sort of external authentication/user database? For example, LDAP/Active Directory? Or single sign-on protocols like SAML or OpenID Connect? If not, is this planned for the future?

2 Likes

yes, this will come in handy

Confused about installation.

  1. Would love to use an existing posgresql server (I have one), that looks good

  2. Would love to see instructions on installing it from github without docker

  3. If I considered using the docker image I'm new to that and the README confused. It starts with:

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

    Which means what? I can't see .env-sample anywhere under:

    joplin/packages/server at dev · laurent22/joplin · GitHub

    where that request is made. Where would one find it?

    That said I'd LOVE to see docker-free installation tips. Even if I went the docker route (happy to) it is so comforting to see what the raw needs are (dockerless).

You can use an existing postgres server by setting environment variables. Take a look on my installation script since I also prefer non docker installations. Unfortunately I'm not a node/typescript coder but I hope in a upcoming releases the npm build script creates the runtime / dist directory without that copying voodoo.

2 Likes

Thanks heaps. That looks awesome. I would ask kindly that you add a README.md to the repo, and ideally a license LICENSE.md (I typically use the Hippocratic License just becaue I like it) . I would infer that from your repo, you run:

  1. joplin-requirements.sh to install all the requirements first. Then,
  2. joplin-build.sh to build the server.
  3. run.sh to run the server.

That leaves some open questions. For example how to keep a server running. Perhaps run.sh then becomes the subject of a systemd service on a Linux box.

@hi-ko would love to hear back from on this, and clarifying some more stuff. I'm sure we're not alone in preferring to avoid docker or at least understanding exactly how an install runs and works without it.

Hi @bernd-wechner,
in principle - yes. The gist is just a dump how I did my very first lx container install based on ubuntu 20 which is working without jumping deeper into the typescripts. You should understand what the requirements.sh script does and you may need to adopt the version tag variable the git checkout line. I did not add a readme yet since I miss some insight/understanding about joplin's servers npm build process. For my understanding it does not make much sense to copy all the directories and files by docker compose or my install scripts before running the npm build. I'm used from other projects to get everything ready to deploy in a dist directory build by a npm script.

Any hint/recommendation/suggestion for improvement is welcome. I will a systemd config and maybe I will put all the artifacts from the gist into one script checked into a github repo to automate install and update into a single command. However, my fear is that the build process will not be stable as long as it is not completely mapped in npm ...

1 Like

@bernd-wechner I updated the gists added a README, a systemd.service and tested with the latest version server-v2.4.1-beta
since the latest dockerfile installs nodejs 16 I also upgraded nodejs to 16 in the joplin-requirements.sh).

1 Like

Thanks heaps! I'm happy to PR some improvements too. To the doc.

Hi,
I made another post (Original post) but this is maybe a better place for it since it relates to Joplin server.
I've installed joplin-server as a docker container and use the app on MacOS.
When configuring the app, in preferences/synchronisation I get:
request to http://myserver.local:22300/api/sessions failed, reason: connect EBADF 192.168.0.10:22300 (Code EBADF).
Browsing to the URL I get:
error "Not allowed: GET api/sessions"
I have tried with different image versions (stable, latest) with the same result.
I tried from iOS and have the same result.
I tried with the admin account or a user account, but still don't understand why just browsing to:
http://myserver.local:22300/api/sessions even without authentication fails.
Does the server require to run in https ?

Joplin is a great app i would like to start.
Me and a friend tested it on a vm as docker server and on Smartphones as clients and were happy with the result.

Love the way it is setup.

But we dont have a real PC running all the time.
Since it would be a waste of power usage.

Both of us are using RPI4 8GB to run all our server related needs.

We were unfortunate to figure out that Joplin in docker doesn't run on ARM64 (RPI4).
And it would be epic if u could make it work.

Is it possible for you to contact florider89 on docker and work together to make an ARM64 docker version on your page?

Im pretty sure there a whole group of people running on SBC and would make use of it if it was an option on docker.

Thank your for reading and best regards,
Darkyere

Next version should run on ARM64 as far as I understand.