A web viewer for Joplin app
Go to file
2022-04-29 14:24:38 +02:00
docker-compose.yml docker-comose: also restart certbot and nginx 2022-04-29 11:50:18 +02:00
LICENSE Initial commit 2022-03-20 10:30:42 +01:00
README.md Update README.md 2022-04-29 14:24:38 +02:00

joplin-vieweb

A simple web viewer for Joplin notes.

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

Features and not(-yet?) features

Yes it does ❤

  • Protect joplin-vieweb access by login
  • Display notebooks, and notes
    • images
    • attachments
  • 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
  • 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

No it doesn't (yet?) 💔

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

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 (todo). Have a look to the containers.

  • 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)
    • 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.
  • 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 up

Configuration

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 next cloud is 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)

Components

image