mirror of
https://github.com/th3r00t/pyShelf.git
synced 2026-04-28 01:59:35 -04:00
Updated for 0.6.0 release
This commit is contained in:
101
README.md
101
README.md
@@ -20,12 +20,18 @@ Follow or influence development @ <p align="center"><b>
|
|||||||
## Current Features
|
## Current Features
|
||||||
|
|
||||||
* Recursive Scanning
|
* Recursive Scanning
|
||||||
* PostgreSql Library
|
|
||||||
* [Django](https://www.djangoproject.com/) based frontend
|
* [Django](https://www.djangoproject.com/) based frontend
|
||||||
* Basic seaching via a SearchVector of author, title, & file_name fields.
|
* Seach via author, title, & file name fields.
|
||||||
* Ebook Downloading
|
* Download System
|
||||||
* Collections
|
* Automated Collections
|
||||||
|
* A work in progress, the collections are based on your folder structure.
|
||||||
* User System
|
* 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
|
## Currently Supported Formats
|
||||||
|
|
||||||
@@ -36,6 +42,15 @@ Follow or influence development @ <p align="center"><b>
|
|||||||
|
|
||||||
# New Features
|
# 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
|
* .mobi Support
|
||||||
* Result set ordering
|
* Result set ordering
|
||||||
* You can now choose to order your results:
|
* You can now choose to order your results:
|
||||||
@@ -62,17 +77,29 @@ Follow or influence development @ <p align="center"><b>
|
|||||||
|
|
||||||
# Installation
|
# 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
|
### Pre-req Dependencies
|
||||||
|
|
||||||
* gcc
|
* gcc
|
||||||
* python3
|
* python3
|
||||||
* pip
|
* pip
|
||||||
|
* postgresql
|
||||||
|
|
||||||
setup configurations as discussed in [SUPPORT.md](https://github.com/th3r00t/pyShelf/blob/development/.github/SUPPORT.md)
|
Once your database is ready very little is required to get the system up and running:
|
||||||
|
|
||||||
Once your environment is ready very little is required to get the system up and running:
|
|
||||||
|
|
||||||
From the main directory
|
From the main directory
|
||||||
|
|
||||||
@@ -80,63 +107,9 @@ From the main directory
|
|||||||
|
|
||||||
`./configure`
|
`./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`
|
As of 0.6.0 Django is being served up via Daphne, and the static files are served up via whitenoise.
|
||||||
|
|
||||||
`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.
|
|
||||||
|
|
||||||
## In Progress
|
## In Progress
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user