diff --git a/Dockerfile b/Dockerfile index f9e46f2..d652f63 100644 --- a/Dockerfile +++ b/Dockerfile @@ -28,13 +28,17 @@ COPY requirements.txt . RUN --mount=type=cache,target=/root/.cache/pip \ pip install -r requirements.txt -COPY src . +COPY pyproject.toml . +RUN mkdir -p src && pip install -e . + +COPY src src USER eos ENTRYPOINT [] EXPOSE 8503 +EXPOSE 8504 -CMD ["python", "-m", "akkudoktoreos.server.eos"] +CMD ["python", "src/akkudoktoreos/server/eos.py", "--host", "0.0.0.0"] VOLUME ["${MPLCONFIGDIR}", "${EOS_CACHE_DIR}", "${EOS_OUTPUT_DIR}", "${EOS_CONFIG_DIR}"] diff --git a/src/akkudoktoreos/server/eos.py b/src/akkudoktoreos/server/eos.py index 5f45af5..e18406c 100755 --- a/src/akkudoktoreos/server/eos.py +++ b/src/akkudoktoreos/server/eos.py @@ -1,6 +1,7 @@ #!/usr/bin/env python3 import argparse +import os import subprocess import sys from contextlib import asynccontextmanager @@ -945,8 +946,8 @@ def run_eos(host: str, port: int, log_level: str, access_log: bool, reload: bool Returns: None """ - # Make hostname human (and Windows) friendly - if host == "0.0.0.0": + # Make hostname Windows friendly + if host == "0.0.0.0" and os.name == "nt": host = "localhost" try: uvicorn.run( diff --git a/src/akkudoktoreos/server/eosdash.py b/src/akkudoktoreos/server/eosdash.py index a0dbaa7..91de731 100644 --- a/src/akkudoktoreos/server/eosdash.py +++ b/src/akkudoktoreos/server/eosdash.py @@ -1,4 +1,5 @@ import argparse +import os import uvicorn from fasthtml.common import H1, FastHTML, Table, Td, Th, Thead, Titled, Tr @@ -69,8 +70,8 @@ def run_eosdash(host: str, port: int, log_level: str, access_log: bool, reload: Returns: None """ - # Make hostname human (and Windows) friendly - if host == "0.0.0.0": + # Make hostname Windows friendly + if host == "0.0.0.0" and os.name == "nt": host = "localhost" try: uvicorn.run(