diff --git a/Dockerfile b/Dockerfile index c71afb4..4f06370 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,4 @@ -FROM python:3 -RUN apt-get update +FROM python:3-slim RUN pip3 install nltk RUN python3 -c "import nltk; nltk.download('words'); nltk.download('stopwords')" WORKDIR /var/www diff --git a/Dockerfile-alpine b/Dockerfile-alpine new file mode 100644 index 0000000..e9285ff --- /dev/null +++ b/Dockerfile-alpine @@ -0,0 +1,18 @@ +FROM alpine:3.23.5 as builder + +RUN apk --no-cache add binutils python3 git py3-pip +RUN python -m pip install --break-system-packages nltk pyinstaller==6.18.0 + +RUN python3 -c "import nltk; nltk.download('words'); nltk.download('stopwords')" +COPY / ./ +RUN python -m PyInstaller src/server.py + +FROM alpine:3.23.5 + +WORKDIR /var/www +COPY --from=builder dist/server/_internal ./_internal +COPY --from=builder dist/server/server . +COPY --from=builder assets assets +COPY --from=builder config config + +CMD ["./server"] diff --git a/config/config.json b/config/config.json index 11d4d8d..4c25db5 100644 --- a/config/config.json +++ b/config/config.json @@ -1,5 +1,5 @@ { - "port": 80, + "port": 8080, "random-seed": 0, "document-root": "/", diff --git a/src/config.py b/src/config.py index c95f444..951aff0 100644 --- a/src/config.py +++ b/src/config.py @@ -12,6 +12,9 @@ def port(self): def random_seed(self): return self.opts["random-seed"] + def random_seed_override(self, new_seed): + self.opts["random-seed"] = new_seed + @property def spacing(self): return self.opts["spacing-characters"] diff --git a/src/server.py b/src/server.py index 7b30946..d055b51 100644 --- a/src/server.py +++ b/src/server.py @@ -1,6 +1,7 @@ from http.server import HTTPServer from handler import Handler from config import Config +import os def run(config:Config): print("Listening on port {}".format(config.port)) @@ -12,6 +13,8 @@ def run(config:Config): def main(): config = Config() + seed = os.environ.get("PYISON_SEED", config.random_seed) + config.random_seed_override(seed) if config.random_seed == 0: print("Please update the random seed value in the config file!") run(config)