diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..a88319c --- /dev/null +++ b/.dockerignore @@ -0,0 +1,16 @@ +__pycache__ +*.pyc +*.pyo +*.pyd +.Python +*.so +*.egg +*.egg-info +dist +build +.git +.gitignore +.dockerignore +Dockerfile +docker-compose.yml +README.md diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e5d1a72 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,7 @@ +FROM python:3.13-slim +WORKDIR /app +RUN pip install --no-cache-dir https://git.pyserve.org/Shifty/pyserveX/releases/download/v0.9.10/pyserve-0.9.10-py3-none-any.whl +COPY . /app/docs/ +COPY config.docs.yaml /app/config.docs.yaml +EXPOSE 80 +CMD ["pyserve", "-c", "/app/config.docs.yaml"] diff --git a/config.docs.yaml b/config.docs.yaml new file mode 100644 index 0000000..b1f0cf9 --- /dev/null +++ b/config.docs.yaml @@ -0,0 +1,31 @@ +# PyServe configuration for serving documentation +# Usage: pyserve -c config.docs.yaml + +http: + static_dir: . + +server: + host: 0.0.0.0 + port: 80 + backlog: 1000 + default_root: false + +ssl: + enabled: false + +logging: + level: INFO + console_output: true + +extensions: + - type: routing + config: + regex_locations: + "~*\\.(css)$": + root: "./docs" + cache_control: "public, max-age=3600" + + "__default__": + root: "./docs" + index_file: "index.html" + cache_control: "no-cache" diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..7a3e245 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,15 @@ +version: '3.8' + +services: + pyserve-docs: + build: + context: . + dockerfile: Dockerfile + container_name: pyserve-docs + networks: + - pyserve_pyserve-network + restart: unless-stopped + +networks: + pyserve_pyserve-network: + external: true