mirror of
https://github.com/lnbits/lnbits.git
synced 2025-09-29 13:22:37 +02:00
fix regtests, admin settings prints
This commit is contained in:
@@ -12,7 +12,7 @@ WORKDIR /app
|
|||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
RUN poetry config virtualenvs.create false
|
RUN poetry config virtualenvs.create false
|
||||||
RUN poetry install --no-dev --no-root
|
RUN poetry install --only main --no-root
|
||||||
RUN poetry run python build.py
|
RUN poetry run python build.py
|
||||||
|
|
||||||
ENV LNBITS_PORT="5000"
|
ENV LNBITS_PORT="5000"
|
||||||
|
@@ -12,7 +12,7 @@ import time
|
|||||||
import click
|
import click
|
||||||
import uvicorn
|
import uvicorn
|
||||||
|
|
||||||
from lnbits.settings import settings
|
from lnbits.settings import settings, set_cli_settings
|
||||||
|
|
||||||
|
|
||||||
@click.command(
|
@click.command(
|
||||||
@@ -29,6 +29,9 @@ from lnbits.settings import settings
|
|||||||
@click.pass_context
|
@click.pass_context
|
||||||
def main(ctx, port: int, host: str, ssl_keyfile: str, ssl_certfile: str, reload: bool):
|
def main(ctx, port: int, host: str, ssl_keyfile: str, ssl_certfile: str, reload: bool):
|
||||||
"""Launched with `poetry run lnbits` at root level"""
|
"""Launched with `poetry run lnbits` at root level"""
|
||||||
|
|
||||||
|
set_cli_settings(host=host, port=port)
|
||||||
|
|
||||||
# this beautiful beast parses all command line arguments and passes them to the uvicorn server
|
# this beautiful beast parses all command line arguments and passes them to the uvicorn server
|
||||||
d = dict()
|
d = dict()
|
||||||
for a in ctx.args:
|
for a in ctx.args:
|
||||||
@@ -44,17 +47,16 @@ def main(ctx, port: int, host: str, ssl_keyfile: str, ssl_certfile: str, reload:
|
|||||||
d[a.strip("--")] = True # argument like --key
|
d[a.strip("--")] = True # argument like --key
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
# loop = asyncio.new_event_loop()
|
|
||||||
config = uvicorn.Config(
|
config = uvicorn.Config(
|
||||||
"lnbits.__main__:app",
|
"lnbits.__main__:app",
|
||||||
port=port,
|
port=port,
|
||||||
host=host,
|
host=host,
|
||||||
reload=reload,
|
reload=reload,
|
||||||
# loop=loop,
|
|
||||||
ssl_keyfile=ssl_keyfile,
|
ssl_keyfile=ssl_keyfile,
|
||||||
ssl_certfile=ssl_certfile,
|
ssl_certfile=ssl_certfile,
|
||||||
**d
|
**d
|
||||||
)
|
)
|
||||||
|
|
||||||
server = uvicorn.Server(config=config)
|
server = uvicorn.Server(config=config)
|
||||||
process = mp.Process(target=server.run)
|
process = mp.Process(target=server.run)
|
||||||
process.start()
|
process.start()
|
||||||
|
@@ -28,9 +28,9 @@ class Settings(BaseSettings):
|
|||||||
lnbits_admin_ui: bool = Field(default=False)
|
lnbits_admin_ui: bool = Field(default=False)
|
||||||
|
|
||||||
# .env
|
# .env
|
||||||
debug: Optional[bool]
|
debug: bool = Field(default=False)
|
||||||
host: Optional[str]
|
host: str = Field(default="127.0.0.1")
|
||||||
port: Optional[int]
|
port: int = Field(default=5000)
|
||||||
lnbits_path: str = Field(default=".")
|
lnbits_path: str = Field(default=".")
|
||||||
lnbits_commit: str = Field(default="unknown")
|
lnbits_commit: str = Field(default="unknown")
|
||||||
|
|
||||||
@@ -132,6 +132,8 @@ class Settings(BaseSettings):
|
|||||||
settings = Settings()
|
settings = Settings()
|
||||||
|
|
||||||
settings.lnbits_path = str(path.dirname(path.realpath(__file__)))
|
settings.lnbits_path = str(path.dirname(path.realpath(__file__)))
|
||||||
|
|
||||||
|
try:
|
||||||
settings.lnbits_commit = (
|
settings.lnbits_commit = (
|
||||||
subprocess.check_output(
|
subprocess.check_output(
|
||||||
["git", "-C", settings.lnbits_path, "rev-parse", "HEAD"],
|
["git", "-C", settings.lnbits_path, "rev-parse", "HEAD"],
|
||||||
@@ -140,6 +142,8 @@ settings.lnbits_commit = (
|
|||||||
.strip()
|
.strip()
|
||||||
.decode("ascii")
|
.decode("ascii")
|
||||||
)
|
)
|
||||||
|
except:
|
||||||
|
settings.lnbits_commit = "docker"
|
||||||
|
|
||||||
|
|
||||||
if not settings.lnbits_admin_ui:
|
if not settings.lnbits_admin_ui:
|
||||||
@@ -147,6 +151,9 @@ if not settings.lnbits_admin_ui:
|
|||||||
for key, value in settings.dict(exclude_none=True).items():
|
for key, value in settings.dict(exclude_none=True).items():
|
||||||
logger.debug(f"{key}: {value}")
|
logger.debug(f"{key}: {value}")
|
||||||
|
|
||||||
|
def set_cli_settings(**kwargs):
|
||||||
|
for key, value in kwargs.items():
|
||||||
|
setattr(settings, key, value)
|
||||||
|
|
||||||
async def check_admin_settings():
|
async def check_admin_settings():
|
||||||
if settings.lnbits_admin_ui:
|
if settings.lnbits_admin_ui:
|
||||||
@@ -196,17 +203,19 @@ async def check_admin_settings():
|
|||||||
|
|
||||||
admin = Settings(**row)
|
admin = Settings(**row)
|
||||||
|
|
||||||
logger.debug(f"Admin settings:")
|
|
||||||
for key, value in admin.dict(exclude_none=True).items():
|
for key, value in admin.dict(exclude_none=True).items():
|
||||||
if not key in read_only_variables:
|
if not key in read_only_variables:
|
||||||
try:
|
try:
|
||||||
setattr(settings, key, value)
|
setattr(settings, key, value)
|
||||||
logger.debug(f"{key}: {value}")
|
|
||||||
except:
|
except:
|
||||||
logger.error(
|
logger.error(
|
||||||
f"error overriding setting: {key}, value: {value}"
|
f"error overriding setting: {key}, value: {value}"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
logger.debug(f"Admin settings:")
|
||||||
|
for key, value in settings.dict(exclude_none=True).items():
|
||||||
|
logger.debug(f"{key}: {value}")
|
||||||
|
|
||||||
http = "https" if settings.lnbits_force_https else "http"
|
http = "https" if settings.lnbits_force_https else "http"
|
||||||
user = settings.lnbits_admin_users[0]
|
user = settings.lnbits_admin_users[0]
|
||||||
logger.warning(
|
logger.warning(
|
||||||
|
Reference in New Issue
Block a user