~kyoheiu/leaf

Self-hostable read-it-later web app.
Remove duplicated Toaster

clone

read-only
https://git.sr.ht/~kyoheiu/leaf
read/write
git@git.sr.ht:~kyoheiu/leaf

You can also use your local clone with git send-email.

leaf

Self-hostable "read-it-later" Web app.

#What is this exactly

  • Save a web page by URL and read its content later.
  • Save your progress automatically.
  • Features:
    • like
    • archive
    • tagging
    • full-text search by ripgrep
  • Via the client API, or the Firefox extension, you can easily add new articles.

#New release

#v1.0.1 (2023-09-23)

  • Fix toast.
  • Add title according to the routes.

#Deploy

  1. To get started, you have to initialize the sqlite database and create an empty directory.
# pwd: /path/to/databases
cat create_table.sql | sqlite3 .sqlite
mkdir .index
  1. Then docker compose up -d will do the rest.

docker-compose.yml example:

version: '3'
services:
  leaf:
    image: docker.io/kyoheiudev/leaf:1.0.1
    container_name: leaf
    environment:
      - LEAF_DATA=/leaf/databases
      - LEAF_API_TOKEN=STRING_USED_WHEN_ADDING_NEW_ARTICLE_VIA_API
    volumes:
      - /path/to/databases:/leaf/databases
      - /etc/localtime:/etc/localtime:ro
    ports:
      - 3000:3000

By default this app is not protected by any means so that you can use your own auth process.

#API

Via the client API you can add a new article:

POST /api/create
Content-Type: application/json
Authorization: LEAF_API_TOKEN

{
  "url": "https://example.com"
}

#Dev

#dev-prerequisites

  • nodejs
  • npm
  • chromium
npm install
npm run dev