buku/bukuserver
2021-03-14 17:26:47 +02:00
..
static/bukuserver/js Replace minified with standard chart.js to make bukuserver 2018-08-29 10:44:02 +08:00
templates/bukuserver add bookmarklet (#385) 2020-07-22 16:53:06 -05: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
bookmarklet.js add bookmarklet (#385) 2020-07-22 16:53:06 -05:00
filters.py fix tag model view (#425) 2019-12-11 18:25:59 +05:30
forms.py fix: dev: wtforms warning 2019-05-14 01:51:23 +08:00
README.md chg: dev: default value for DISABLE_FAVICON 2021-02-28 13:28:34 +08:00
requirements.txt reverse proxy (#431) 2019-12-29 08:07:56 +05:30
response.py Fix build break 2018-07-19 02:27:15 +05:30
server.py fix: test: pylint 2021-02-28 14:13:39 +08:00
views.py fix bug in views.py 2021-03-14 17:26:47 +02: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.

Using Docker Compose

There is a docker-compose.yml file present in the docker-compose directory in the root of this project. You may modify the configurations in this file to your liking, and then simply execute the below command.

docker-compose up -d

You will have you bukuserver running on port port 80 of the host.

To stop simply run

docker-compose down

In case you want to add basic auth to your hosted instance you may do so by creating a .htpasswd file in the data/basic_auth directory. Add a user to the file using

htpasswd -c data/basic_auth/.htpasswd your_username

And then comment out the basic auth lines from the data/nginx/nginx.conf file.

For more information please refer the nginx docs.

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: true]
OPEN_IN_NEW_TAB url link open in new tab boolean [default: false]
REVERSE_PROXY_PATH reverse proxy path string

Note: BUKUSERVER_ is the common prefix.

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

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

Note: the value for BUKUSERVER_REVERSE_PROXY_PATH is recommended to include preceding slash and not have trailing slash (i.e. use /foo not /foo/)

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