mirror of
https://github.com/th3r00t/pyShelf.git
synced 2026-04-28 01:59:35 -04:00
Merge pull request #72 from k2patel/env-variables
Updating config file to look for env. variable, if not available use …
This commit is contained in:
2
config.json
vendored
2
config.json
vendored
@@ -1 +1 @@
|
|||||||
{"TITLE": "pyShelf E-Book Server", "VERSION": "0.7.0", "BOOKPATH": "", "DB_HOST": "localhost", "DB_PORT": "5432", "DATABASE": "pyshelf", "USER": "pyshelf", "PASSWORD": "pyshelf", "BOOKSHELF": "data/shelf.json", "ALLOWED_HOSTS": "*", "SECRET": "", "BUILD_MODE": "production"}
|
{"TITLE": "pyShelf E-Book Server", "VERSION": "0.7.0", "BOOKPATH": "/books", "DB_HOST": "localhost", "DB_PORT": "5432", "DATABASE": "pyshelf", "USER": "pyshelf", "PASSWORD": "pyshelf", "BOOKSHELF": "data/shelf.json", "ALLOWED_HOSTS": ["localhost", "127.0.0.1", "[::1]", "0.0.0.0"], "SECRET": "", "BUILD_MODE": "production"}
|
||||||
|
|||||||
4
docker-compose.yml
vendored
4
docker-compose.yml
vendored
@@ -3,15 +3,16 @@ version: "3.7"
|
|||||||
services:
|
services:
|
||||||
db:
|
db:
|
||||||
image: "postgres"
|
image: "postgres"
|
||||||
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
- "POSTGRES_PASSWORD=pyshelf"
|
- "POSTGRES_PASSWORD=pyshelf"
|
||||||
- "POSTGRES_USER=pyshelf"
|
- "POSTGRES_USER=pyshelf"
|
||||||
- "POSTGRES_DB=pyshelf"
|
- "POSTGRES_DB=pyshelf"
|
||||||
volumes:
|
volumes:
|
||||||
- "db_data:/var/lib/postgresql/data/"
|
- "db_data:/var/lib/postgresql/data/"
|
||||||
|
|
||||||
pyshelf:
|
pyshelf:
|
||||||
image: "pyshelf/pyshelf"
|
image: "pyshelf/pyshelf"
|
||||||
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
- "8000:8000"
|
- "8000:8000"
|
||||||
- "1337:1337"
|
- "1337:1337"
|
||||||
@@ -19,6 +20,5 @@ services:
|
|||||||
- "${LOCAL_BOOK_DIR}:/books"
|
- "${LOCAL_BOOK_DIR}:/books"
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- db
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
db_data:
|
db_data:
|
||||||
|
|||||||
15
docker/config.json
vendored
15
docker/config.json
vendored
@@ -1,14 +1 @@
|
|||||||
{
|
{"TITLE": "pyShelf E-Book Server", "VERSION": "0.7.0", "BOOKPATH": "/books", "DB_HOST": "localhost", "DB_PORT": "5432", "DATABASE": "pyshelf", "USER": "pyshelf", "PASSWORD": "pyshelf", "BOOKSHELF": "data/shelf.json", "ALLOWED_HOSTS": ["localhost", "127.0.0.1", "[::1]", "0.0.0.0"], "SECRET": "", "BUILD_MODE": "production"}
|
||||||
"TITLE": "pyShelf E-Book Server",
|
|
||||||
"VERSION": "0.6.0 Docker",
|
|
||||||
"BOOKPATH": "/books",
|
|
||||||
"DB_HOST": "db",
|
|
||||||
"DB_PORT": "5432",
|
|
||||||
"DATABASE": "pyshelf",
|
|
||||||
"USER": "pyshelf",
|
|
||||||
"PASSWORD": "pyshelf",
|
|
||||||
"BOOKSHELF": "data/shelf.json",
|
|
||||||
"ALLOWED_HOSTS": "*",
|
|
||||||
"SECRET": "",
|
|
||||||
"BUILD_MODE": "production"
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import json
|
import json
|
||||||
import pathlib
|
import pathlib
|
||||||
import re
|
import re
|
||||||
|
import os
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
|
|
||||||
@@ -14,6 +14,7 @@ class Config:
|
|||||||
Initialize main configuration options
|
Initialize main configuration options
|
||||||
"""
|
"""
|
||||||
self.root = root
|
self.root = root
|
||||||
|
env = os.environ.copy()
|
||||||
self._fp = "config.json"
|
self._fp = "config.json"
|
||||||
self._cp = pathlib.Path.joinpath(root, self._fp)
|
self._cp = pathlib.Path.joinpath(root, self._fp)
|
||||||
self._data = self.open_file()
|
self._data = self.open_file()
|
||||||
@@ -21,23 +22,23 @@ class Config:
|
|||||||
self.logger
|
self.logger
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
self.logger = self.get_logger()
|
self.logger = self.get_logger()
|
||||||
self.book_path = self._data["BOOKPATH"]
|
self.book_path = env.get("BOOKPATH", self._data["BOOKPATH"])
|
||||||
self.TITLE = self._data["TITLE"]
|
self.TITLE = env.get("TITLE", self._data["TITLE"])
|
||||||
self.VERSION = self._data["VERSION"]
|
self.VERSION = env.get("VERSION", self._data["VERSION"])
|
||||||
self.TITLE = self.TITLE + " ver " + self.VERSION
|
self.TITLE = self.TITLE + " ver " + self.VERSION
|
||||||
self.book_shelf = self._data["BOOKSHELF"]
|
self.book_shelf = env.get("BOOKSHELF", self._data["BOOKSHELF"])
|
||||||
self.catalogue_db = self._data["DATABASE"]
|
self.catalogue_db = env.get("DATABASE", self._data["DATABASE"])
|
||||||
self.user = self._data["USER"]
|
self.user = self._data["USER"]
|
||||||
self.password = self._data["PASSWORD"]
|
self.password = self._data["PASSWORD"]
|
||||||
self.db_host = self._data["DB_HOST"]
|
self.db_host = env.get("DB_HOST", self._data["DB_HOST"])
|
||||||
self.db_port = self._data["DB_PORT"]
|
self.db_port = env.get("DB_PORT", self._data["DB_PORT"])
|
||||||
self.file_array = [self.book_shelf]
|
self.file_array = [self.book_shelf]
|
||||||
self.auto_scan = True
|
self.auto_scan = True
|
||||||
self.allowed_hosts = self._data["ALLOWED_HOSTS"]
|
self.allowed_hosts = env.get("ALLOWED_HOSTS", self._data["ALLOWED_HOSTS"])
|
||||||
self.db_user = self._data["USER"]
|
self.db_user = env.get("USER", self._data["USER"])
|
||||||
self.db_pass = self._data["PASSWORD"]
|
self.db_pass = env.get("PASSWORD", self._data["PASSWORD"])
|
||||||
self.SECRET = self._data["SECRET"]
|
self.SECRET = env.get("SECRET", self._data["SECRET"])
|
||||||
self.build_mode = self._data["BUILD_MODE"]
|
self.build_mode = env.get("BUILD_MODE", self._data["BUILD_MODE"])
|
||||||
|
|
||||||
def get_logger(self):
|
def get_logger(self):
|
||||||
_logger = logger
|
_logger = logger
|
||||||
|
|||||||
Reference in New Issue
Block a user