buku/bukuserver
Ameya Shenoy 4e13df9738 Docker compose (#417)
* feat(docker): add healthcheck to container

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

* feat(docker): add docker-compose files

Signed-off-by: Ameya Shenoy <shenoy.ameya@gmail.com>
2019-09-24 07:50:06 +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 Docker compose (#417) 2019-09-24 07:50:06 +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.

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]

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