mirror of
https://github.com/th3r00t/pyShelf.git
synced 2026-04-28 01:59:35 -04:00
Merge branch 'development' into mobi
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -125,7 +125,6 @@ dmypy.json
|
|||||||
# End of https://www.gitignore.io/api/python
|
# End of https://www.gitignore.io/api/python
|
||||||
0
|
0
|
||||||
config.backup.json
|
config.backup.json
|
||||||
create_db.sql
|
|
||||||
uwsgi.ini
|
uwsgi.ini
|
||||||
installer.log
|
installer.log
|
||||||
pyshelf_nginx.conf
|
pyshelf_nginx.conf
|
||||||
|
|||||||
20
Dockerfile
vendored
Normal file
20
Dockerfile
vendored
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
FROM archlinux:latest
|
||||||
|
RUN pacman -Syy
|
||||||
|
RUN pacman -Syu --noconfirm
|
||||||
|
RUN pacman -S --noconfirm python python-pip git postgresql sudo gcc
|
||||||
|
RUN sudo -u postgres initdb --locale=en_US.UTF-8 -E UTF8 -D /var/lib/postgres/data
|
||||||
|
RUN useradd pyshelf && chpasswd pyshelf:pyshelf
|
||||||
|
#RUN mkdir -p /srv/Books && mkdir -p /srv/http && mkdir -p /srv/logs/ && mkdir -p /run/postgresql && \
|
||||||
|
# touch /srv/logs/pgsql.log && chown postgres.postgres /run/postgresql && \
|
||||||
|
# chown http.pyshelf /srv/Books && chown http.pyshelf /srv/http && chown postgres.postgres /srv/logs/pgsql.log
|
||||||
|
VOLUME /srv/Books ./Books
|
||||||
|
VOLUME /srv/http .
|
||||||
|
VOLUME /srv/logs ./logs
|
||||||
|
VOLUME /var/lib/postgres/data ./pgdata
|
||||||
|
RUN sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start
|
||||||
|
RUN sudo -u postgres psql -f create_db.sql
|
||||||
|
ENV PYTHONUNBUFFERED=1
|
||||||
|
WORKDIR /srv/http
|
||||||
|
RUN pip install -r requirements.txt
|
||||||
|
EXPOSE 80 8000
|
||||||
|
CMD ["sh", "-c","/srv/http/entry.sh"]
|
||||||
22
README.md
vendored
22
README.md
vendored
@@ -1,15 +1,16 @@
|
|||||||
# pyShelf 0.5.0
|
# pyShelf 0.5.0
|
||||||
|
|
||||||
<p align="center"><b>Terminal based ebook server. Open source & Lightweight.</b></p>
|
<p align="center"><b>Terminal based ebook server. Open source & Lightweight.</b></p>
|
||||||

|
<p align="center">Having used Calibre for hosting my eBook collection in the past, I found myself frustrated having to install X on my server, or manage my library externally, Thus I have decided to spin up my own.</p>
|
||||||

|
<p align="center"><a href="https://pyshelf.com">https://pyshelf.com</a></p>
|
||||||
|
|
||||||
Having used Calibre for hosting my eBook collection in the past, I found myself frustrated having to install X on my server, or manage my library externally, Thus I have decided to spin up my own.
|

|
||||||
|

|
||||||
|
|
||||||
### Join the discussion: Discord [https://discord.gg/H9TbNJS](https://discord.gg/H9TbNJS) | IRC freenode.net @ #pyshelf
|
<p align="center"><b>Discord [https://discord.gg/H9TbNJS](https://discord.gg/H9TbNJS) | IRC freenode.net @ #pyshelf</b></p>
|
||||||
|
|
||||||
## Current Features
|
## Current Features
|
||||||
* Custom Installer -- For Arch Based Distros Only
|
* Custom Installer -- pre-req installs work on Arch Based Distros Only
|
||||||
* Recursive Scanning
|
* Recursive Scanning
|
||||||
* Fast database access
|
* Fast database access
|
||||||
* Django based frontend
|
* Django based frontend
|
||||||
@@ -28,13 +29,12 @@ Having used Calibre for hosting my eBook collection in the past, I found myself
|
|||||||
|
|
||||||
## 0.5.0 Patch Notes.
|
## 0.5.0 Patch Notes.
|
||||||
|
|
||||||
### Additional Dependencies
|
### Pre-req Dependencies
|
||||||
* gcc -- This will be installed by the new pre-installer script if its binary
|
* gcc -- This will be installed by the new pre-installer script if its binary is not detected at /usr/bin/gcc
|
||||||
is not detected at the arch distro default of /usr/bin/gcc
|
Users on distros other then Arch should install gcc via their systems package manager prior to
|
||||||
|
|
||||||
All other distros should install via their systems package manager prior to
|
|
||||||
running the installer.
|
running the installer.
|
||||||
|
* Python3
|
||||||
|
* pip
|
||||||
### New Features
|
### New Features
|
||||||
* Collections
|
* Collections
|
||||||
We are now categorizing your ebooks into collections based on the folder
|
We are now categorizing your ebooks into collections based on the folder
|
||||||
|
|||||||
2
config.json
vendored
2
config.json
vendored
@@ -1 +1 @@
|
|||||||
{"TITLE": "pyShelf E-Book Server", "VERSION": "0.5.0", "BOOKPATH": "/home/raelon/Books", "DB_HOST": "localhost", "DB_PORT": "5432", "DATABASE": "pyshelf", "USER": "pyshelf", "PASSWORD": "pyshelf", "BOOKSHELF": "data/shelf.json", "ALLOWED_HOSTS": "*", "hostname": "localhost", "webport": "8000", "wsgiport": "8001"}
|
{"TITLE": "pyShelf E-Book Server", "VERSION": "0.5.0", "BOOKPATH": "/srv/Books", "DB_HOST": "localhost", "DB_PORT": "5432", "DATABASE": "pyshelf", "USER": "pyshelf", "PASSWORD": "pyshelf", "BOOKSHELF": "data/shelf.json", "ALLOWED_HOSTS": "*", "hostname": "localhost", "webport": "8000", "wsgiport": "8001"}
|
||||||
3
create_db.sql
vendored
Executable file
3
create_db.sql
vendored
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
CREATE USER pyshelf WITH PASSWORD 'pyshelf';
|
||||||
|
CREATE DATABASE pyshelf;
|
||||||
|
GRANT ALL PRIVILEGES ON DATABASE pyshelf TO pyshelf;
|
||||||
13
database.sh
vendored
Executable file
13
database.sh
vendored
Executable file
@@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start &&
|
||||||
|
sudo -u postgres psql -f create_db.sql &&
|
||||||
|
rm /srv/http/database.sh &&
|
||||||
|
echo "sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/lgsql.log start" > /srv/http/database.sh &&
|
||||||
|
chmod +x /srv/http/database.sh &&
|
||||||
|
cd src && \
|
||||||
|
python manage.py makemigrations && \
|
||||||
|
python manage.py makemigrations interface && \
|
||||||
|
python manage.py migrate && \
|
||||||
|
python manage.py migrate interface && \
|
||||||
|
cd ..
|
||||||
|
echo "pyShelf Env Started"
|
||||||
4
entry.sh
vendored
Executable file
4
entry.sh
vendored
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#sh /srv/http/database.sh
|
||||||
|
sudo -u postgres pg_ctl -D /var/lib/postgres/data -l /srv/logs/pgsql.log start &&
|
||||||
|
#gunicorn pyShelf.wsgi 8000:8000
|
||||||
2
requirements.txt
vendored
2
requirements.txt
vendored
@@ -17,4 +17,4 @@ psycopg2-binary
|
|||||||
prompt_toolkit
|
prompt_toolkit
|
||||||
psutil
|
psutil
|
||||||
pyfiglet
|
pyfiglet
|
||||||
mobi-python
|
mobi-python
|
||||||
Reference in New Issue
Block a user