A web viewer for Joplin app
Go to file
2023-07-16 23:22:54 +02:00
docker-compose-joplin-only.yml origins with scheme and port 2022-05-01 23:26:54 +02:00
docker-compose.yml origins with scheme and port 2022-05-01 23:26:54 +02:00
LICENSE Initial commit 2022-03-20 10:30:42 +01:00
README.md update readme: screenshot of search 2023-07-16 23:22:54 +02:00

joplin-vieweb

A simple web viewer for Joplin notes.
*If it's useful for you, you may consider to Donate*

Purpose

I'm going to use Joplin as a notes application.
It's a long time I wanted for something like Joplin: opensource, not coupled to a web giant, and without infinite storage: storage has a price, we should pay for it.

Joplin-vieweb purpose is to provide an online view of my Joplin notes.
It's running on a "Django server", running beside Joplin terminal app.

Screenshot

oplin-vieweb-screenshot

Contact

I you want to discuss, ask, suggest... Please:

Features and not(-yet?) features

Yes it does ❤

  • Protect joplin-vieweb access by login (see here how to logout)
  • Display notebooks, and notes
    • images
    • attachments
  • search for notes
    • Press f key, or click magnifying glass icon
    • Search syntax: documented here or here.
    • image
  • code syntax highlight
  • Add a table of content if note contains headers
  • Display tags, and notes linked.
  • Joplin sync:
    • image
    • Background periodic joplin sync
    • Manual trigged sync, with notebooks and tag refresh
    • Supported target: nextcloud, Joplin server, webdav
  • Public link if note has public tag
    image
  • Option to number (or not) header in notes:
    image
  • Tag edition: add / remove / create tags in notes: image Once tags edited, a little reminder not to forget to synchronize Joplin:
    image
  • Checkbox list changes can be saved to notes.
  • image
  • Note edition / deletion, with support of image paste, and image / attachment drag&drop. image

image

  • Note creation joplin_create_note
  • Notebook edition: create / rename / delete notebook_edition
  • Notes history: list of the latest notes consulted, to be able to open them quickly, or pin them: demo_joplin_notes_history
  • Tabs in notes (not displayed in joplin applications). Syntax here. image
  • Hyperlink preview in notes, on mouse hover: 2022-02-08 10-31-54
  • Render KaTeX: image

No it doesn't (yet?) 💔

  • Sort notebooks nor notes
  • Move note or notebook from one notebook to another.
  • No specific handling for todos.

Installation / configuration instructions

! Only linux systems are supported
! Only arm64 and amd64 architectures
! For raspberry users (I am): use 64 bits OS

Installation

Installation is done with docker-compose. The default docker-compose file installs a nginx server with certbot certificates mechanisms, and listens to ports 80 and 443.
If you have your own server, use docker-compose-joplin-only.yml. Have a look to the containers.
    If your server is apache2, have a look to this apache configuration procedure.

  • Prerequisites: your linux system has docker and docker-compose installed
  • Enable docker service at system startup
  • Get docker-compose.yml (either you clone this git repo, or you copy the file somewhere)
  • Edit the 3 variables (x-common-variables block) at the top of docker-compose file:
    • ORIGINS: write the domain and/or IP address (only those origins are allowed to access joplin-vieweb)
      Exemple:
      x-common-variables: &common-variables
          ORIGINS: "'http://localhost:8080', 'http://192.168.21.1:8080'"
      
      or
      x-common-variables: &common-variables
          ORIGINS: "'https://your_domain.com', 'https://12.34.56.78'"
          CERT_DOMAIN: your_domain.com 
          CERT_MAIL: you@zaclys.net
      
    • If you use nginx and certbot containers:
      • CERT_DOMAIN: your domain so let's encrypt can contact (IP address doesn't work: you need a domain)
      • CERT_MAIL: a mail needed by let's encrypt.
    • If you don't use nginx and certbot container (if you use docker-compose-joplin-only.yml):
      • Change <PORT-TO-YOUR-PROXY> to fit your proxy setup.
  • And "run"
sudo systemctl enable docker
cd ~
mkdir joplin-vieweb
cd joplin-vieweb
wget https://raw.githubusercontent.com/joplin-vieweb/joplin-vieweb/main/docker-compose.yml
vi docker-compose.yml # edit the x-common-variables (3 variables)
sudo docker-compose up

Congratulation, the server is running. If the system reboots, the server will start automatically (since we enabled docker.service at startup and the services in odcker-compose are set as "restart")

Upgrade

When a new version is available, simply go to your docker-compose file:

sudo docker-compose down
sudo docker-compose pull
sudo docker-compose up

Configuration and usage

! Users configuration is done from this url: https://your_domain.com/admin/
! Usage url, to access joplin notes: https://your_domain.com/joplin

Users

First you must change admin password:

Synchronisation

You should configure a synchronisation to secure your notes:

image
1 Click the settings tab
2 Input synchronisation data (only nextcloud, webdav and joplin server are supported for now, if you would like other services, ask in a conversation)
3 Test
4 If test result is OK: save

If your cloud already contains joplin content, do a synchronisation:

image
1 Click the synchronisation tab
2 click the sync button
3 Wait for the sync to finish (it may take a long time depending on your cloud content)

Joplin

You can now access your notebooks: https://your_domain/joplin (⚠ don't forget the /joplin ⚠)

Components

image