buku/bukuserver
Ameya Shenoy e44da0557f feat(docker): add Dockerfile to build container (#411)
* feat(docker): add Dockerfile to build container

Also added related docs. It is worth mentioning that at this point the
server used inside the docker container is the default Flask server,
which is not production ready.

Signed-off-by: Ameya Shenoy <shenoy.ameya@gmail.com>

* feat(docker): server requests with gunicorn

Signed-off-by: Ameya Shenoy <shenoy.ameya@gmail.com>

* fix(docker): restructure to speed up build

Signed-off-by: Ameya Shenoy <shenoy.ameya@gmail.com>

* perf(docker): reduced image size

Signed-off-by: Ameya Shenoy <shenoy.ameya@gmail.com>
2019-08-23 00:58:01 +05:30
..
static/bukuserver/js Replace minified with standard chart.js to make bukuserver 2018-08-29 10:44:02 +08:00
templates/bukuserver fix: template minor error 2019-05-14 01:50:02 +08:00
__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
filters.py Improve readability and fix minor typos. 2018-12-30 20:49:38 -06:00
forms.py fix: dev: wtforms warning 2019-05-14 01:51:23 +08:00
README.md feat(docker): add Dockerfile to build container (#411) 2019-08-23 00:58:01 +05:30
requirements.txt new: dev: update urllib3 and requests 2019-05-16 21:48:52 +08:00
response.py Fix build break 2018-07-19 02:27:15 +05:30
server.py fix(OPEN_IN_NEW_TAB): get from environment var 2019-08-12 03:01:58 +05:30
views.py new: user: open in new tab 2019-06-07 07:52:55 +08:00

Bukuserver

Table of Contents

Installation

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.

Dependencies

$ python3 -m pip install --user --upgrade pip
$ python3 -m pip install --user virtualenv
$ python3 -m virtualenv env
$ source env/bin/activate

From PyPi

$ pip3 install buku[server]

From source

$ git clone https://github.com/jarun/Buku
$ cd Buku
$ pip3 install .[server]

Using Docker

To build the image execute the command from the root directory of the project:

docker build -t bukuserver .

To run the generated image.

docker run -it --rm -v ~/.local/share/buku:/root/.local/share/buku -p 5001:5001 bukuserver

All the data generated will be stored in the ~/.local/share/buku directory. Feel free to change it to the full path of the location you want to store the database.

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

Webserver options

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

$ 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

Configuration

Following are available os env config available for bukuserver.

Name (without prefix) Description Value
PER_PAGE bookmarks per page positive integer [default: 10]
SECRET_KEY server secret key string [default: os.urandom(24)]
URL_RENDER_MODE url render mode full or netloc [default: full]
DB_FILE full path to db file path string [default: standard path for buku]
DISABLE_FAVICON disable favicon boolean [default: false]
OPEN_IN_NEW_TAB url link open in new tab boolean [default: false]

Note: BUKUSERVER_ is the common prefix.

Note: if input is invalid, the default value will be used

e.g. to set bukuserver to show 100 item per page run the following command

# on linux
$ export BUKUSERVER_PER_PAGE=100

# on windows
$ SET BUKUSERVER_PER_PAGE=100

# in dockerfile
ENV BUKUSERVER_PER_PAGE=100

Screenshots


home page

home page



index page

bookmark stats



index page

bookmark page



index page

create bookmark



index page

edit bookmark



index page

view bookmark details



index page

tag page