diff --git a/.gitignore b/.gitignore index 2aca97a9..cfdd7465 100644 --- a/.gitignore +++ b/.gitignore @@ -116,3 +116,6 @@ Temporary Items # VirtualEnv .venv + +# Docker +.;C \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..af22b1e4 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +FROM python:3.9-slim + +WORKDIR /app + +ENV PYTHONUNBUFFERED=1 + +COPY requirements.txt . + +RUN pip install --upgrade pip \ + && pip install --no-cache-dir -r requirements.txt + +COPY . /app + +EXPOSE 8000 + +CMD ["tail", "-f", "/dev/null"] diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 00000000..5cac171d --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,17 @@ +version: "3.9" + +services: + app: + build: + context: . + dockerfile: Dockerfile + container_name: hknweb + working_dir: /app + volumes: + - .:/app + environment: + - PYTHONUNBUFFERED=1 + ports: + - "8000:8000" + command: tail -f /dev/null + diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..e3ac993a --- /dev/null +++ b/requirements.txt @@ -0,0 +1,59 @@ +asgiref==3.8.1 ; python_version >= "3.9" and python_version < "3.10" +bcrypt==4.2.1 ; python_version >= "3.9" and python_version < "3.10" +black==23.12.1 ; python_version >= "3.9" and python_version < "3.10" +bleach[css]==6.2.0 ; python_version >= "3.9" and python_version < "3.10" +cachetools==5.5.0 ; python_version >= "3.9" and python_version < "3.10" +certifi==2024.12.14 ; python_version >= "3.9" and python_version < "3.10" +cffi==1.17.1 ; python_version >= "3.9" and python_version < "3.10" +charset-normalizer==3.4.1 ; python_version >= "3.9" and python_version < "3.10" +click==8.1.8 ; python_version >= "3.9" and python_version < "3.10" +colorama==0.4.6 ; python_version >= "3.9" and python_version < "3.10" and platform_system == "Windows" +coverage[toml]==7.6.10 ; python_version >= "3.9" and python_version < "3.10" +cryptography==43.0.3 ; python_version >= "3.9" and python_version < "3.10" +decorator==5.1.1 ; python_version >= "3.9" and python_version < "3.10" +deprecated==1.2.15 ; python_version >= "3.9" and python_version < "3.10" +django-autocomplete-light==3.11.0 ; python_version >= "3.9" and python_version < "3.10" +django-markdownx==4.0.7 ; python_version >= "3.9" and python_version < "3.10" +django==4.2.17 ; python_version >= "3.9" and python_version < "3.10" +djangorestframework==3.15.2 ; python_version >= "3.9" and python_version < "3.10" +fabric==3.2.2 ; python_version >= "3.9" and python_version < "3.10" +google-api-core==2.24.0 ; python_version >= "3.9" and python_version < "3.10" +google-api-python-client==2.156.0 ; python_version >= "3.9" and python_version < "3.10" +google-auth-httplib2==0.2.0 ; python_version >= "3.9" and python_version < "3.10" +google-auth==2.37.0 ; python_version >= "3.9" and python_version < "3.10" +googleapis-common-protos==1.66.0 ; python_version >= "3.9" and python_version < "3.10" +gunicorn==21.2.0 ; python_version >= "3.9" and python_version < "3.10" +httplib2==0.22.0 ; python_version >= "3.9" and python_version < "3.10" +icalendar==5.0.13 ; python_version >= "3.9" and python_version < "3.10" +idna==3.10 ; python_version >= "3.9" and python_version < "3.10" +importlib-metadata==8.5.0 ; python_version >= "3.9" and python_version < "3.10" +invoke==2.2.0 ; python_version >= "3.9" and python_version < "3.10" +markdown==3.7 ; python_version >= "3.9" and python_version < "3.10" +mypy-extensions==1.0.0 ; python_version >= "3.9" and python_version < "3.10" +packaging==24.2 ; python_version >= "3.9" and python_version < "3.10" +paramiko==3.5.0 ; python_version >= "3.9" and python_version < "3.10" +pathspec==0.12.1 ; python_version >= "3.9" and python_version < "3.10" +pillow==9.5.0 ; python_version >= "3.9" and python_version < "3.10" +platformdirs==4.3.6 ; python_version >= "3.9" and python_version < "3.10" +proto-plus==1.25.0 ; python_version >= "3.9" and python_version < "3.10" +protobuf==5.29.2 ; python_version >= "3.9" and python_version < "3.10" +pyasn1-modules==0.4.1 ; python_version >= "3.9" and python_version < "3.10" +pyasn1==0.6.1 ; python_version >= "3.9" and python_version < "3.10" +pycparser==2.22 ; python_version >= "3.9" and python_version < "3.10" +pynacl==1.5.0 ; python_version >= "3.9" and python_version < "3.10" +pyparsing==3.2.0 ; python_version >= "3.9" and python_version < "3.10" +python-dateutil==2.9.0.post0 ; python_version >= "3.9" and python_version < "3.10" +pytz==2024.2 ; python_version >= "3.9" and python_version < "3.10" +requests==2.32.3 ; python_version >= "3.9" and python_version < "3.10" +rsa==4.9 ; python_version >= "3.9" and python_version < "3.10" +six==1.17.0 ; python_version >= "3.9" and python_version < "3.10" +sqlparse==0.5.3 ; python_version >= "3.9" and python_version < "3.10" +tinycss2==1.4.0 ; python_version >= "3.9" and python_version < "3.10" +tomli==2.2.1 ; python_version >= "3.9" and python_version < "3.10" +typing-extensions==4.12.2 ; python_version >= "3.9" and python_version < "3.10" +tzdata==2024.2 ; python_version >= "3.9" and python_version < "3.10" and sys_platform == "win32" +uritemplate==4.1.1 ; python_version >= "3.9" and python_version < "3.10" +urllib3==1.26.20 ; python_version >= "3.9" and python_version < "3.10" +webencodings==0.5.1 ; python_version >= "3.9" and python_version < "3.10" +wrapt==1.17.0 ; python_version >= "3.9" and python_version < "3.10" +zipp==3.21.0 ; python_version >= "3.9" and python_version < "3.10"