-
-
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=true
Note 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
)