buku/bukuserver
2018-05-11 08:00:40 +05:30
..
static/bukuserver/js new: dev: statistic page 2018-04-19 20:33:55 +08:00
templates/bukuserver A shorter tagline 2018-05-11 08:00:40 +05:30
__init__.py chg: dev: rename api folder to bukuserver 2018-04-06 15:07:33 +08:00
__main__.py chg: dev: review request 2018-04-06 15:07:34 +08:00
forms.py chg: dev: remove unused EditBookmarksForm 2018-04-06 15:07:34 +08:00
README.rst new: dev: url render mode feature 2018-05-09 07:33:49 +08:00
requirements.txt chg: dev: rename api folder to bukuserver 2018-04-06 15:07:33 +08:00
response.py chg: dev: rename api folder to bukuserver 2018-04-06 15:07:33 +08:00
server.py new: dev: url render mode feature 2018-05-09 07:33:49 +08:00

Bukuserver
==========

Install server
--------------

You need to have some packages before you install `bukuserver` on your server.
So be sure to have `python3`, `python3-pip` , `python3-dev`, `libffi-dev` packages from your distribution.

Installing PIP, virtualenv and dependencies
-------------------------------------------

.. code:: shell

  $ python3 -m pip install --user --upgrade pip
  $ python3 -m pip install --user virtualenv
  $ python3 -m virtualenv env
  $ source env/bin/activate
  $ git clone https://github.com/jarun/Buku
  $ cd Buku
  $ pip3 install .[server]

Installing buku and bukuserver from PIP
---------------------------------------

.. code:: shell

  $ pip3 install buku[server]

Webserver options
-----------------

To run the server on host 127.0.0.1, port 5001, run following command:

.. code:: shell

  $ bukuserver run --host 127.0.0.1 --port 5001

Visit `127.0.0.1:5001` in your browser to access your bookmarks.

See more option on `bukuserver run --help` and `bukuserver --help`

Webserver Env config
--------------------

Following are available os env config available for bukuserver.

+-----------------------+------------------------------------+
| Name (without prefix) | Value and description              |
+-----------------------+------------------------------------+
| PER_PAGE              | v: [:code:`10`]/(positive integer) |
|                       |                                    |
|                       | Bookmark entry per page.           |
+-----------------------+------------------------------------+
| SECRET_KEY            | v: [(os.urandom(24))]/(string)     |
|                       |                                    |
|                       | Server secret key.                 |
+-----------------------+------------------------------------+
| URL_RENDER_MODE       | v: [:code:`full`]/:code:`netloc`   |
|                       |                                    |
|                       | Url render mode.                   |
+-----------------------+------------------------------------+

Note: If any invalid input given, default value will be used

Note: to use it add `BUKUSERVER_` as prefix.

ie to set bukuserver to show 100 item per page run the following command

.. code::

  $ # on linux
  $ export BUKUSERVER_PER_PAGE=100
  $ # on windows
  $ SET BUKUSERVER_PER_PAGE=100

CAUTION
-------

This snapshot of web APIs is indicative.
The program APIs are bound to change and if you need these,
you may have to adapt the APIs to the current signature/return type etc.
We are NOT actively updating these whenever an API changes in the main program.