-
-
Notifications
You must be signed in to change notification settings - Fork 304
Bukuserver (WebUI)
Buku includes a companion Web-application, Bukuserver (it requires additional dependencies; the package should be installed with server extra, i.e. pip install buku[server]).
Warning: Bukuserver is not meant to be exposed directly to external network (use a Web-server like nginx to reverse-proxy it instead). Any security features such as password protection need to be applied via the reverse-proxy Web-server.
Check out Bukuserver README file for more information.

home page
![]()
bookmarks page (with favicons enabled)
![]()
bookmarks page with 'slate' theme and favicon enabled

stats page

tags page

main page

main page (expanded)

bookmarks list

bookmarks list (filtered, 'full' URL render mode)

bookmarks list (sorted)

bookmarks list (reordered)

bookmarklet popup (create bookmark)

bookmarklet popup (edit bookmark)

bookmarklet popup (view bookmark)

bookmark create dialog

bookmarklet popup (edit bookmark)

bookmark view dialog (random entry)

bookmark create page (accessible from bookmark view/edit page)

bookmark edit page (accessible from bookmark view page)

bookmark view page (accessible via link in view dialog / “bookmark saved” message)

tags list

tag edit page

success message (“bookmark saved”, linked to the saved record)

error message (“invalid filter value”)

stats page

stats page (chart hovered)

stats page (full list dialog)

main page

main page (expanded)

bookmarks list

bookmarks list (filtered, 'full' URL render mode)

bookmarks list (sorted)

bookmarks list (reordered)

bookmarklet popup (create bookmark)

bookmarklet popup (edit bookmark)

bookmarklet popup (view bookmark)

bookmark create dialog

bookmarklet popup (edit bookmark)

bookmark view dialog (random entry)

bookmark create page (accessible from bookmark view/edit page)

bookmark edit page (accessible from bookmark view page)

bookmark view page (accessible via link in view dialog / “bookmark saved” message)

tags list

tag edit page

success message (“bookmark saved”, linked to the saved record)

error message (“invalid filter value”)

stats page

stats page (chart hovered)

stats page (full list dialog)
Bukuserver includes an HTTP API (mostly JSON-based). You can find a brief description in Bukuserver README file; and more thorough documentation is available in the app itself, via the /apidocs endpoint. (The static version is located in bukuserver/apidocs/ subdirectory of the repo.)
Since configuring Bukuserver requires setting up environment variables, and it has no builtin support for switching databases, a runner script was made. (It's quite convenient for managing multiple databases, both for normal use and during development.)
As explained in the README file, you can install it in your PATH to run from command line, or in a shortcut to run from your desktop/applications menu; and settings (both for Bukuserver and the script itself) can be defined in bukuserver.env file within your buku settings folder (incidentally, DB files will be placed there as well):
# ~/.local/share/buku/bukuserver.env or %APPDATA%\Roaming\buku\bukuserver.env
BUKUSERVER='~/Sources/buku/' # when running from sources (nightly/developer option)
BUKUSERVER_THEME=slate
BUKUSERVER_DISABLE_FAVICON=false
BUKUSERVER_OPEN_IN_NEW_TAB=trueNote that BUKU_DEFAULT_DBDIR can be used to specify an alternative DB directory.

DB selection dialog – shown on startup (unless no DB files were found); initially the previous DB is selected

DB creation dialog – shown if no DB was selected (or none found)

A confirmation dialog is shown if new DB name is taken already

DB name must be a valid filename, sans the .db extension (invalid chars: / on Linux, or any of <>:"/\|?* on Windows)

DB selection prompt in console shell/no-GUI mode (BUKU_NOGUI=y)
