Updated for 0.6.0 release

This commit is contained in:
th3r00t
2020-09-12 13:32:50 -04:00
parent 732a82aa17
commit 59c780afe4

101
README.md
View File

@@ -20,12 +20,18 @@ Follow or influence development @ <p align="center"><b>
## 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 @ <p align="center"><b>
# 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 <b>Docker</b> 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 @ <p align="center"><b>
# 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