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
|
||||
|
||||
* 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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user