Code Monkey home page Code Monkey logo

joplin-vieweb's Introduction

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
  • 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.
  • 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. 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: [email protected]
    • 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:

  • login to https://your_domain.com/admin/ (login: admin / password: admin) image
  • Change the admin password:
    image
  • If you want to login to joplin-vieweb with another login than admin: create a user:
    image
  • Now you can logout and visit https://your_domain.com/joplin
    image
  • Login with admin or your newly created user:
    image

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

joplin-vieweb's People

Contributors

gri38 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.