mirror of
https://github.com/th3r00t/pyShelf.git
synced 2026-04-28 01:59:35 -04:00
Updated README.md
This commit is contained in:
1
.github/SUPPORT.md
vendored
1
.github/SUPPORT.md
vendored
@@ -83,3 +83,4 @@ Please contact us using any of the options below for support. Please be prepared
|
|||||||
### Live Support Options
|
### Live Support Options
|
||||||
* Discord: [https://discord.gg/H9TbNJS](https://discord.gg/H9TbNJS)
|
* Discord: [https://discord.gg/H9TbNJS](https://discord.gg/H9TbNJS)
|
||||||
* IRC: [irc.freenode.net/pyShelf](irc://freenode.net/pyshelf)
|
* IRC: [irc.freenode.net/pyShelf](irc://freenode.net/pyshelf)
|
||||||
|
* Matrix.org: [#irc_#pyshelf:pyshelf.com](https://app.element.io/#/room/#irc_#pyshelf:pyshelf.com)
|
||||||
|
|||||||
130
README.md
130
README.md
@@ -7,26 +7,34 @@
|
|||||||

|

|
||||||
|
|
||||||
|
|
||||||
### You dont need a X server to host a website, or your Movie & Tv collection, so why should you need one to host ebooks?
|
### You dont need an X server to host a website, or your Movie & Tv collection, so why should you need one to host ebooks?
|
||||||
<i>Other solutiions require you to have access to an X server to at the very least generate your book database, pyShelf doesnt.We aim to provide a fully featured ebook server with minimal requirements, and no reliance on X whatsoever.</i>
|
|
||||||
|
_Other solutiions require you to have access to an X server to at the very least generate your book database, pyShelf doesnt.We aim to provide a fully featured ebook server with minimal requirements, and no reliance on X whatsoever._
|
||||||
|
|
||||||
|
Follow or influence development @ <p align="center"><b>
|
||||||
|
<a href="https://discord.gg/H9TbNJS">Discord</a>
|
||||||
|
| <a href="https://webchat.freenode.net/#pyshelf">IRC</a>
|
||||||
|
| <a href="https://app.element.io/#/room/#irc_#pyshelf:pyshelf.com">Matrix.org</a>
|
||||||
|
</b></p>
|
||||||
|
|
||||||
Follow or influence development @ <p align="center"><b> <a href="https://discord.gg/H9TbNJS">Discord</a> | <a href="https://webchat.freenode.net/#pyshelf">IRC</a> freenode.net @ #pyshelf</b></p>
|
|
||||||
## Current Features
|
## Current Features
|
||||||
* Custom Installer works only on Arch Based Distros
|
|
||||||
* Recursive Scanning
|
* Recursive Scanning
|
||||||
* Fast database access
|
* Fast database access
|
||||||
* Django based frontend
|
* [Django](https://www.djangoproject.com/) based frontend
|
||||||
* Basic seaching via a SearchVector of author, title, & file_name fields.
|
* Basic seaching via a SearchVector of author, title, & file_name fields.
|
||||||
* Ebook Downloading
|
* Ebook Downloading
|
||||||
* Collections
|
* Collections
|
||||||
|
|
||||||
## Currently Supported Formats
|
## Currently Supported Formats
|
||||||
|
|
||||||
* epub
|
* epub
|
||||||
* mobi
|
* mobi
|
||||||
|
|
||||||
|
|
||||||
## 0.6.0 Patch Notes.
|
## 0.6.0 Patch Notes.
|
||||||
|
|
||||||
# New Features
|
# New Features
|
||||||
|
|
||||||
* .mobi Yep mobis are now a thing!
|
* .mobi Yep mobis are now a thing!
|
||||||
* Result set ordering
|
* Result set ordering
|
||||||
* You can now choose to order your results:
|
* You can now choose to order your results:
|
||||||
@@ -49,28 +57,31 @@ Follow or influence development @ <p align="center"><b> <a href="https://discord
|
|||||||
* [ ] Control panel
|
* [ ] Control panel
|
||||||
* [ ] Book details
|
* [ ] Book details
|
||||||
* Whatever else :)
|
* Whatever else :)
|
||||||
|
|
||||||
## Installation Example
|
## Installation Example
|
||||||
|
|
||||||
<a href="https://vimeo.com/382292764" target="_blank">pyShelf Installation Video</a>
|
<a href="https://vimeo.com/382292764" target="_blank">pyShelf Installation Video</a>
|
||||||
|
|
||||||
## Further Installation & Support Information
|
## Further Installation & Support Information
|
||||||
|
|
||||||
* [SUPPORT.md](https://github.com/th3r00t/pyShelf/blob/development/.github/SUPPORT.md)
|
* [SUPPORT.md](https://github.com/th3r00t/pyShelf/blob/development/.github/SUPPORT.md)
|
||||||
|
|
||||||
### Pre-req Dependencies
|
### Pre-req Dependencies
|
||||||
* gcc -- This will be installed by the new pre-installer script if its binary is not detected at /usr/bin/gcc
|
|
||||||
Users on distros other then Arch should install gcc via their systems package manager prior to
|
* gcc
|
||||||
running the installer.
|
* python3
|
||||||
* Python3
|
|
||||||
* pip
|
* pip
|
||||||
|
|
||||||
# Installation
|
# Installation
|
||||||
This project is currently targeted towards Network Administrators, and other home
|
|
||||||
enthusiasts whom I assume will know how to setup a Django app, and a
|
|
||||||
Postgres server.
|
|
||||||
|
|
||||||
Once your environment is ready very little is required to get the system up and running
|
This project is currently targeted towards Network Administrators, and other 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.
|
||||||
|
|
||||||
|
Once your environment is ready very little is required to get the system up and running:
|
||||||
* From the main directory
|
* From the main directory
|
||||||
* setup configurations as discussed in [SUPPORT.md](https://github.com/th3r00t/pyShelf/blob/development/.github/SUPPORT.md)
|
* setup configurations as discussed in [SUPPORT.md](https://github.com/th3r00t/pyShelf/blob/development/.github/SUPPORT.md)
|
||||||
* `pip install -r requirments.txt`
|
* `pip install -r requirements.txt`
|
||||||
* `cd src`
|
* `cd src`
|
||||||
* `python manage.py migrate`
|
* `python manage.py migrate`
|
||||||
* `cd ..`
|
* `cd ..`
|
||||||
@@ -78,23 +89,8 @@ Once your environment is ready very little is required to get the system up and
|
|||||||
* `./makecollections`
|
* `./makecollections`
|
||||||
* Browse to the site as defined in your apache | nginx config
|
* Browse to the site as defined in your apache | nginx config
|
||||||
|
|
||||||
## Included installer
|
## Installation & Support Information
|
||||||
<a href="https://vimeo.com/382292764" target="_blank">pyShelf Installation Video</a>
|
|
||||||
|
|
||||||
The installer will only run correctly on arch based distros. This could be
|
|
||||||
easily rectified to include other package managers, Members of the community
|
|
||||||
are welcome to dig into the installer source and patch in support
|
|
||||||
for other package managers.
|
|
||||||
|
|
||||||
There is some support for detection of the aptitude package manager
|
|
||||||
installation already present in the source now, however it is not complete and
|
|
||||||
should not be relied upon to be present in future releases unless completed by
|
|
||||||
a member of the community,
|
|
||||||
|
|
||||||
The installer will walk you through all the configurations required by pyShelf to
|
|
||||||
run if you are running on Arch linux.
|
|
||||||
|
|
||||||
## Further Installation & Support Information
|
|
||||||
* [SUPPORT.md](https://github.com/th3r00t/pyShelf/blob/development/.github/SUPPORT.md)
|
* [SUPPORT.md](https://github.com/th3r00t/pyShelf/blob/development/.github/SUPPORT.md)
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
@@ -110,56 +106,72 @@ _Before advancing version numbers be sure to set PROJECT_NUMBER in doxygen.conf
|
|||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
All configuration is now handled by the installer.
|
Running via the [Django](https://www.djangoproject.com/) test server might be possible, albeit not recomended.
|
||||||
|
|
||||||
Running via the Django test server might be possible, albeit not recomended.
|
|
||||||
|
|
||||||
## Docker
|
## Docker
|
||||||
|
|
||||||
Installation for Docker is handled by docker-compose
|
The official Docker image for pyShelf is [`raelonmasters/pyshelf`](https://hub.docker.com/r/raelonmasters/pyshelf). The easiest way to get pyShelf running is through `docker-compose`. Here is an example `docker-compose.yml`:
|
||||||
|
|
||||||
It will spin up two containers: one postgres, one for the Django application
|
```
|
||||||
|
version: "3.7"
|
||||||
|
|
||||||
Edit [docker/.env](docker/.env)
|
services:
|
||||||
|
db:
|
||||||
|
image: "postgres"
|
||||||
|
environment:
|
||||||
|
- "POSTGRES_PASSWORD=pyshelf"
|
||||||
|
- "POSTGRES_USER=pyshelf"
|
||||||
|
- "POSTGRES_DB=pyshelf"
|
||||||
|
volumes:
|
||||||
|
- "pgdata:/var/lib/postgresql/data/"
|
||||||
|
|
||||||
`docker-compose -f docker/docker-compose.yml --env-file=docker/.env up -d`
|
pyshelf:
|
||||||
|
image: "raelonmasters/pyshelf"
|
||||||
|
ports:
|
||||||
|
- "8080:8000"
|
||||||
|
volumes:
|
||||||
|
- "${LOCAL_BOOK_DIR}:/books"
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
|
||||||
`docker exec -it -d docker_pyshelf_1 python3 manage.py migrate`
|
volumes:
|
||||||
|
pgdata:
|
||||||
|
```
|
||||||
|
|
||||||
`docker exec -it -d docker_pyshelf_1 python3 manage.py runserver 0.0.0.0:8000`
|
You'll also need a `.env` file wich sets the `LOCAL_BOOK_DIR` variable, for example:
|
||||||
|
|
||||||
IMPORT BOOKS
|
```
|
||||||
|
LOCAL_BOOK_DIR=/home/someone/books
|
||||||
|
```
|
||||||
|
|
||||||
Once the .epub files are in the directory specified in [docker/.env](docker/.env)
|
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` .
|
||||||
|
|
||||||
`docker exec -it docker_pyshelf_1 /bin/bash`
|
## In Progress
|
||||||
|
|
||||||
`cd /usr/src/app/ && python3 importBooks`
|
### Organizational tools.
|
||||||
|
|
||||||
### Docker Future Enhancements
|
|
||||||
|
|
||||||
- [ ] Change method of importing books ssibly cron or using the Django code
|
|
||||||
- [ ] Look into having the migration work without having to manually execute
|
|
||||||
|
|
||||||
|
|
||||||
### In Progress
|
|
||||||
|
|
||||||
#### Organizational tools.
|
|
||||||
- [x] Automated Collections
|
- [x] Automated Collections
|
||||||
- [ ] Manual Collections
|
- [ ] Manual Collections
|
||||||
- [ ] Books Removal
|
- [ ] Books Removal
|
||||||
- [ ] Access Restrictions
|
- [ ] Access Restrictions
|
||||||
- [ ] Metadata Manipulation
|
- [ ] Metadata Manipulation
|
||||||
- [ ] Others?
|
- [ ] Others?
|
||||||
#### Improved cover image storage, and acquisition.
|
|
||||||
#### OPDS Support
|
### Improved cover image storage, and acquisition.
|
||||||
#### Support for other formats
|
|
||||||
|
### OPDS Support
|
||||||
|
|
||||||
|
### Support for other formats
|
||||||
|
|
||||||
- [x] .mobi
|
- [x] .mobi
|
||||||
- [ ] .pdf
|
- [ ] .pdf
|
||||||
- [ ] .cbz
|
- [ ] .cbz
|
||||||
- [ ] .zip (Zipped book folders, is this a new idea? (Consider storing your library folders zipped and retrieving a book on demand))
|
- [ ] .zip (Zipped book folders, is this a new idea? (Consider storing your library folders zipped and retrieving a book on demand))
|
||||||
|
|
||||||
### Future Goals
|
## Future Goals
|
||||||
#### Terminal Backend for catalogue maintenance
|
|
||||||
#### Calculate page count from total characters
|
### Terminal Backend for catalogue maintenance
|
||||||
|
|
||||||
|
### Calculate page count from total characters
|
||||||
|
|
||||||
* (Thanks to @Fireblend for the idea) https://github.com/th3r00t/pyShelf/issues/3
|
* (Thanks to @Fireblend for the idea) https://github.com/th3r00t/pyShelf/issues/3
|
||||||
|
|||||||
7
docker/README.md
vendored
7
docker/README.md
vendored
@@ -1,9 +1,6 @@
|
|||||||
Use `docker-compose -f ./docker/docker-compose.yml up --build` in the project root to start both pyshelf and the database.
|
Use `docker build -t raelonmasters/pyshelf -f ./docker/Dockerfile .` in the project root to build the pyshelf image.
|
||||||
|
|
||||||
Use `docker build -t pyshelf -f ./docker/Dockerfile .` in the project root to build the pyshelf image.
|
|
||||||
|
|
||||||
Make sure the following files are in sync:
|
Make sure the following files are in sync:
|
||||||
* config.json
|
* config.json
|
||||||
* pyshelf_nginx.conf
|
* docker/pyshelf_nginx.conf
|
||||||
* docker-compose.yml
|
|
||||||
* uwsgi.ini
|
* uwsgi.ini
|
||||||
Reference in New Issue
Block a user