From 2e8b87103fa811b311a914915e5ff5bac31da8f1 Mon Sep 17 00:00:00 2001 From: Mikael Nordin Date: Tue, 16 Feb 2021 14:06:26 +0100 Subject: [PATCH] Add docker file and example content --- Dockerfile | 23 +++++++++++++++++++++++ content/index.gmi | 3 +++ content/test/file.gmi | 0 content/test/file.txt | 0 __init__.py => gmnd/__init__.py | 4 ++-- openssl.conf | 4 ++++ 6 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 Dockerfile create mode 100644 content/index.gmi create mode 100644 content/test/file.gmi create mode 100644 content/test/file.txt rename __init__.py => gmnd/__init__.py (96%) create mode 100644 openssl.conf diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9cf344b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,23 @@ +FROM debian:10 AS build-stage +RUN apt-get update +RUN apt-get -y install openssl +RUN mkdir -p /app/certs +COPY openssl.conf . +RUN openssl req \ + -x509 \ + -newkey rsa:4096 \ + -sha256 \ + -days 3560 \ + -nodes \ + -keyout /app/certs/cert.key \ + -out /app/certs/cert.pem \ + -subj "/C=SE/ST=W/L=Borlange/O=Skunkworks/CN=gmnd.local" \ + -extensions san \ + -config openssl.conf +FROM python:3 AS deploy-stage +WORKDIR /app +COPY ./gmnd/__init__.py . +COPY ./content content +COPY --from=build-stage /app/certs certs +EXPOSE 1965 +CMD ["python", "__init__.py"] diff --git a/content/index.gmi b/content/index.gmi new file mode 100644 index 0000000..3f4a74e --- /dev/null +++ b/content/index.gmi @@ -0,0 +1,3 @@ +# Headin + +=> test/ diff --git a/content/test/file.gmi b/content/test/file.gmi new file mode 100644 index 0000000..e69de29 diff --git a/content/test/file.txt b/content/test/file.txt new file mode 100644 index 0000000..e69de29 diff --git a/__init__.py b/gmnd/__init__.py similarity index 96% rename from __init__.py rename to gmnd/__init__.py index 4d57353..c76642f 100644 --- a/__init__.py +++ b/gmnd/__init__.py @@ -72,7 +72,7 @@ class gMNd: conn.close() def get_dir_list(self,directory): - contents = b"Contents:\r\n" + contents = b"#Contents:\r\n" dirs = [] files = [] for mfile in os.listdir(self.base_path + directory): @@ -105,5 +105,5 @@ def get_header(status='20', meta = b""): if __name__ == "__main__": - server = gMNd({'allow_dir_list': True}) + server = gMNd({'allow_dir_list': True, 'logg_level': logging.DEBUG, 'listen_addr': '0.0.0.0'}) server.run() diff --git a/openssl.conf b/openssl.conf new file mode 100644 index 0000000..b0448f6 --- /dev/null +++ b/openssl.conf @@ -0,0 +1,4 @@ +[req] +distinguished_name=req +[san] +subjectAltName=DNS:localhost,DNS:gmnd.local