e44da0557f
* 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> |
||
---|---|---|
.. | ||
static/bukuserver/js | ||
templates/bukuserver | ||
__init__.py | ||
__main__.py | ||
filters.py | ||
forms.py | ||
README.md | ||
requirements.txt | ||
response.py | ||
server.py | ||
views.py |
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
bookmark stats
bookmark page
create bookmark
edit bookmark
view bookmark details
tag page