From 437d38f508b11466c98b1dc150015cc123f541dd Mon Sep 17 00:00:00 2001 From: Dominique Lasserre Date: Sun, 19 Jan 2025 13:00:53 +0100 Subject: [PATCH] Fix EOSdash startup (docker) * Docker: Copy the same directory structure (src/) to support the lifespan startup of EOSdash. Use EOS_SERVER_EOSDASH_SESSKEY environment variable to provide EOSdash with session key. --- .dockerignore | 8 ++++---- Dockerfile | 2 -- docker-compose.yaml | 1 + src/akkudoktoreos/server/eosdash.py | 7 ++++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.dockerignore b/.dockerignore index bc13daa..83ea19a 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,8 +1,8 @@ .git/ .github/ -eos-data/ -mariadb-data/ -test_data/ +**/__pycache__/ +**/*.pyc +**/*.egg-info/ .dockerignore .env .gitignore @@ -12,4 +12,4 @@ LICENSE Makefile NOTICE README.md -.venv +.venv/ diff --git a/Dockerfile b/Dockerfile index d652f63..a00e419 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,8 +3,6 @@ FROM python:${PYTHON_VERSION}-slim LABEL source="https://github.com/Akkudoktor-EOS/EOS" -ENV VIRTUAL_ENV="/opt/venv" -ENV PATH="${VIRTUAL_ENV}/bin:${PATH}" ENV MPLCONFIGDIR="/tmp/mplconfigdir" ENV EOS_DIR="/opt/eos" ENV EOS_CACHE_DIR="${EOS_DIR}/cache" diff --git a/docker-compose.yaml b/docker-compose.yaml index 56f7a8a..7f88bb8 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -15,6 +15,7 @@ services: - .env environment: - EOS_CONFIG_DIR=config + - EOS_SERVER__EOSDASH_SESSKEY=s3cr3t - EOS_PREDICTION__LATITUDE=52.2 - EOS_PREDICTION__LONGITUDE=13.4 - EOS_ELECPRICE__PROVIDER=ElecPriceAkkudoktor diff --git a/src/akkudoktoreos/server/eosdash.py b/src/akkudoktoreos/server/eosdash.py index 3f9983d..f7e6558 100644 --- a/src/akkudoktoreos/server/eosdash.py +++ b/src/akkudoktoreos/server/eosdash.py @@ -5,7 +5,7 @@ from functools import reduce from typing import Any, Union import uvicorn -from fasthtml.common import H1, FastHTML, Table, Td, Th, Thead, Titled, Tr +from fasthtml.common import H1, Table, Td, Th, Thead, Titled, Tr, fast_app from pydantic.fields import ComputedFieldInfo, FieldInfo from pydantic_core import PydanticUndefined @@ -94,8 +94,9 @@ for field_name, field_info in list(config_eos.model_fields.items()) + list( extract_nested_models(field_info, [field_name]) -app = FastHTML() -rt = app.route +app, rt = fast_app( + secret_key=os.getenv("EOS_SERVER__EOSDASH_SESSKEY"), +) def config_table() -> Table: