Espial is an open-source, web-based bookmarking server.

Latest on Hackage:0.0.7

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow to host generated Haddocks.

AGPL-3.0-only licensed by Jon Schoning
Maintained by


Espial is an open-source, web-based bookmarking server.

It allows mutiple accounts, but currently intended for self-host scenarios.

The bookmarks are stored in a sqlite3 database, for ease of deployment & maintenence.

The easist way for logged-in users to add bookmarks, is with the “bookmarklet”, found on the Settings page.

demo server

log in — username: demo password: demo


Server Setup (from source)

  1. Install Stack

    • On POSIX systems, this is usually curl -sSL | sh
  2. Build executables

    stack build
  3. Create the database

    stack exec migration -- createdb --conn espial.sqlite3
  4. Create a user

    stack exec migration -- createuser --conn espial.sqlite3 --userName myusername --userPassword myuserpassword
  5. Import a bookmark file for a user (optional)

     stack exec migration -- importbookmarks --conn espial.sqlite3 --userName myusername --bookmarkFile sample-bookmarks.json
  6. Start a production server:

    stack exec espial -- +RTS -T

see config/settings.yml for changing default run-time parameters / environment variables

default app http port: 3000

default ekg http port: 8000

ssl: use reverse proxy



  • Install the yesod command line tool: stack install yesod-bin --install-ghc

  • Start a development server:

    yesod devel


  • See purs/ folder

Import Bookmark file format

see sample-bookmarks.json, which contains a JSON array, each line containing a FileBookmark object.


[ {"href":"","description":"Forde's Tenth Rule, or, \"How I Learned to Stop Worrying and \u2764\ufe0f the State Machine\"","extended":"","time":"2018-02-26T22:57:20Z","shared":"yes","toread":"yes","tags":"raganwald"},
, {"href":"","description":"7.6. Flag reference \u2014 Glasgow Haskell Compiler 8.2.2 User's Guide","extended":"-fprint-expanded-synonyms","time":"2018-02-26T21:52:02Z","shared":"yes","toread":"no","tags":"ghc haskell"},




comments powered byDisqus