buku/bukuserver/README.md
2020-01-08 08:37:17 +05:30

5.0 KiB

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: false]
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