From 59c780afe4db755932a1e68b6409ca60c20ee0c2 Mon Sep 17 00:00:00 2001 From: th3r00t Date: Sat, 12 Sep 2020 13:32:50 -0400 Subject: [PATCH] Updated for 0.6.0 release --- README.md | 101 ++++++++++++++++++++---------------------------------- 1 file changed, 37 insertions(+), 64 deletions(-) diff --git a/README.md b/README.md index cbe5467..0318de7 100755 --- a/README.md +++ b/README.md @@ -20,12 +20,18 @@ Follow or influence development @

## Current Features * Recursive Scanning -* PostgreSql Library * [Django](https://www.djangoproject.com/) based frontend -* Basic seaching via a SearchVector of author, title, & file_name fields. -* Ebook Downloading -* Collections +* Seach via author, title, & file name fields. +* Download System +* Automated Collections + * A work in progress, the collections are based on your folder structure. * User System +* Per User Favorites +* Expanded book information view +* Websocket server + * currently only responds to ping, and importBooks, more responders are planned. +* Full Docker integration. +* On Demand Importing ## Currently Supported Formats @@ -36,6 +42,15 @@ Follow or influence development @

# New Features +* Automated Collections + * A work in progress, the collections are based on your folder structure. +* User System +* Per User Favorites +* Expanded book information view +* Websocket server + * currently only responds to ping, and importBooks, more responders are planned. +* Full Docker integration. +* On Demand Importing * .mobi Support * Result set ordering * You can now choose to order your results: @@ -62,17 +77,29 @@ Follow or influence development @

# Installation -This project is targeted towards Network Administrators, and home enthusiasts whom I assume will know how to setup a [Django](https://www.djangoproject.com/) app, and a [PostgreSQL](https://www.postgresql.org/) server. For those unfamiliar with the required setup please see the docker section below. +## Docker + +The official Docker image for pyShelf is [`pyshelf/pyshelf`](https://hub.docker.com/r/pyshelf/pyshelf). The easiest way to get pyShelf running is through `docker-compose`. An example docker-compose.yml is included in the repo + +You'll need a `.env` file wich sets the `LOCAL_BOOK_DIR` variable, for example: + +``` +LOCAL_BOOK_DIR=/home/someone/books +``` + +The Docker image is still new, so there could still be some issues and missing features. Feel free to create a bug-issue when you encounter a bug. Development of the Docker image is discussed in https://github.com/th3r00t/pyShelf/pull/53 . Currently the database needs to be [PostgreSQL](https://www.postgresql.org/) with the account details shown in the example `docker-compose.yml`. + +## Self Hosted +This is targeted towards Network Administrators, and home enthusiasts whom I assume will know how to setup a [Django](https://www.djangoproject.com/) app, and a [PostgreSQL](https://www.postgresql.org/) server. For those unfamiliar with the required setup please use the included docker-compose.yml ### Pre-req Dependencies * gcc * python3 * pip +* postgresql -setup configurations as discussed in [SUPPORT.md](https://github.com/th3r00t/pyShelf/blob/development/.github/SUPPORT.md) - -Once your environment is ready very little is required to get the system up and running: +Once your database is ready very little is required to get the system up and running: From the main directory @@ -80,63 +107,9 @@ From the main directory `./configure` -`cd src` +`cd src/ && daphne frontend.asgi:application` add -b 0.0.0.0 -p 8000 as required to specify which interface\'s and port to bind too -`python manage.py makemigrations` - -`python manage.py makemigration interface` - -`python manage.py migrate` - -`python manage.py migrate interface` - -`cd ..` - -`./importBooks` - -`uwsgi --ini uwsgi.ini` - -Browse to the site as defined in your apache | nginx config - -Running via the [Django](https://www.djangoproject.com/) test server might be possible, albeit not recomended. - -## Docker - -The official Docker image for pyShelf is [`pyshelf/pyshelf`](https://hub.docker.com/r/pyshelf/pyshelf). The easiest way to get pyShelf running is through `docker-compose`. Here is an example `docker-compose.yml`: - -``` -version: "3.7" - -services: - db: - image: "postgres" - environment: - - "POSTGRES_PASSWORD=pyshelf" - - "POSTGRES_USER=pyshelf" - - "POSTGRES_DB=pyshelf" - volumes: - - "db_data:/var/lib/postgresql/data/" - - pyshelf: - image: "pyshelf/pyshelf" - ports: - - "8080:8000" - volumes: - - "${LOCAL_BOOK_DIR}:/books" - depends_on: - - db - -volumes: - db_data: -``` - -You'll also need a `.env` file wich sets the `LOCAL_BOOK_DIR` variable, for example: - -``` -LOCAL_BOOK_DIR=/home/someone/books -``` - -The Docker image is still new, so there could still be some issues and missing features. Feel free to create a bug-issue when you encounter a bug. Development of the Docker image is discussed in https://github.com/th3r00t/pyShelf/pull/53 . Currently the database needs to be [PostgreSQL](https://www.postgresql.org/) with the account details shown in the example `docker-compose.yml`. It should become db agnostic in the future. +As of 0.6.0 Django is being served up via Daphne, and the static files are served up via whitenoise. ## In Progress