Refactoring Collections, and getting docker ready.

This commit is contained in:
th3r00t
2023-11-27 15:21:23 -05:00
parent 1e2998aed6
commit 44a376f172
10 changed files with 63 additions and 61 deletions

23
docker/Dockerfile vendored
View File

@@ -9,17 +9,30 @@
# docker login
# docker push pyshelf/pyshelf
FROM python:3
FROM ubuntu:latest
EXPOSE 8000
EXPOSE 8080
EXPOSE 1337
# RUN apt-get update -y
# RUN DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential python312 python312-dev python312-pip python312-venv python312-hatch
RUN apt-get update -y
RUN apt-get upgrade -y
RUN apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev \
libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget \
libbz2-dev curl -y
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
RUN export NVM_DIR="$HOME/.nvm" ; \
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" ; nvm install 14 npm
WORKDIR /tmp
RUN wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz
RUN tar -xf Python-3.12.0.tgz
WORKDIR /tmp/Python-3.12.0/
RUN ./configure --enable-optimizations
RUN make -j 4
RUN make install
COPY . /pyshelf
COPY ./docker/config.json /pyshelf/config.json
COPY ./docker/requirements.txt /pyshelf/requirements.txt
WORKDIR /pyshelf/
RUN python -m pip install --no-cache-dir -r requirements.txt
RUN python3 -m pip install --no-cache-dir -r requirements.txt
ENTRYPOINT hatch run ./pyShelf.py

2
docker/README.md vendored
View File

@@ -2,5 +2,3 @@ Use `docker build -t pyshelf/pyshelf -f ./docker/Dockerfile .` in the project ro
Make sure the following files are in sync:
* config.json
* docker/pyshelf_nginx.conf
* uwsgi.ini

6
docker/config.json vendored
View File

@@ -2,9 +2,9 @@
"TITLE": "pyShelf E-Book Server",
"VERSION": "0.8.0",
"BOOKPATH": "/books",
"DB_HOST": "localhost",
"DB_PORT": "5432",
"DB_ENGINE": "psql",
"DB_HOST": "127.0.0.1",
"DB_PORT": "5433",
"DB_ENGINE": "sqlite",
"DATABASE": "pyshelf",
"USER": "pyshelf",
"PASSWORD": "pyshelf",

View File

@@ -1,34 +1,36 @@
version: "3.7"
# This file is used to test the Dockerhub image. To host pyShelf yourself for
# production, please use the official pyShelf image on
# This file is used to test the Dockerhub image. To host pyShelf yourself for
# production, please use the official pyShelf image on
# https://hub.docker.com/r/pyshelf/pyshelf
# For development, use the following command in the root folder:
#
#
# docker-compose -f ./docker/development.docker-compose.yml up --build
services:
db:
image: "postgres"
environment:
- "POSTGRES_PASSWORD=pyshelf"
- "POSTGRES_USER=pyshelf"
- "POSTGRES_DB=pyshelf"
volumes:
- "db_data:/var/lib/postgresql/data/"
# db:
# image: "postgres"
# environment:
# - "POSTGRES_PASSWORD=pyshelf"
# - "POSTGRES_USER=pyshelf"
# - "POSTGRES_DB=pyshelf"
# volumes:
# - "db_data:/var/lib/postgresql/data/"
# ports:
# - "5433:5432"
pyshelf:
build:
context: ..
dockerfile: ./docker/Dockerfile
ports:
ports:
- "8080:8000"
- "1337:1337"
volumes:
- "${LOCAL_BOOK_DIR}:/books"
depends_on:
- db
# depends_on:
# - db
volumes:
db_data:
# volumes:
# db_data:

View File

@@ -1,15 +1,17 @@
version: "3.7"
services:
db:
image: "postgres"
restart: always
environment:
- "POSTGRES_PASSWORD=pyshelf"
- "POSTGRES_USER=pyshelf"
- "POSTGRES_DB=pyshelf"
volumes:
- "db_data:/var/lib/postgresql/data/"
# db:
# image: "postgres"
# restart: always
# environment:
# - "POSTGRES_PASSWORD=pyshelf"
# - "POSTGRES_USER=pyshelf"
# - "POSTGRES_DB=pyshelf"
# volumes:
# - "db_data:/var/lib/postgresql/data/"
# ports:
# - "5433:5432"
pyshelf:
image: "pyshelf/pyshelf"
restart: always
@@ -18,7 +20,7 @@ services:
- "1337:1337"
volumes:
- "${LOCAL_BOOK_DIR}:/books"
depends_on:
- db
volumes:
db_data:
# depends_on:
# - db
#volumes:
# db_data: