diff options
Diffstat (limited to '')
-rw-r--r-- | Dockerfile | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..36ca12f1 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,33 @@ +# Use the official lightweight Python image. +# https://hub.docker.com/_/python +FROM python:3.9-slim + +# Ensure Python outputs everything immediately (useful for real-time logging in Docker). +ENV PYTHONUNBUFFERED 1 + +# Set the working directory in the container. +WORKDIR /app + +# Update the system packages and install system-level dependencies required for compilation. +# gcc: Compiler required for some Python packages. +# build-essential: Contains necessary tools and libraries for building software. +RUN apt-get update && apt-get install -y --no-install-recommends \ + gcc \ + build-essential \ + && rm -rf /var/lib/apt/lists/* + +# Copy the project's requirements file into the container. +COPY requirements.txt /app/ + +# Upgrade pip for the latest features and install the project's Python dependencies. +RUN pip install --upgrade pip && pip install -r requirements.txt + +# Copy the entire project into the container. +# This may include all code, assets, and configuration files required to run the application. +COPY . /app/ + +# Install additional requirements specific to the interference module/package. +RUN pip install -r interference/requirements.txt + +# Define the default command to run the app using Python's module mode. +CMD ["python", "-m", "interference.app"] |