diff options
author | Tekky <98614666+xtekky@users.noreply.github.com> | 2023-09-11 13:35:01 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-11 13:35:01 +0200 |
commit | 3bde2c06f3581fa095317bad8ae40b15d55877cb (patch) | |
tree | 8c36f59a8c08b1ff35038d672fe0af390fa645d2 /Dockerfile | |
parent | ~ | Merge pull request #891 from Lin-jun-xiang/fix-TypeDict-error (diff) | |
parent | Merge branch 'main' into feature/docker-setup (diff) | |
download | gpt4free-3bde2c06f3581fa095317bad8ae40b15d55877cb.tar gpt4free-3bde2c06f3581fa095317bad8ae40b15d55877cb.tar.gz gpt4free-3bde2c06f3581fa095317bad8ae40b15d55877cb.tar.bz2 gpt4free-3bde2c06f3581fa095317bad8ae40b15d55877cb.tar.lz gpt4free-3bde2c06f3581fa095317bad8ae40b15d55877cb.tar.xz gpt4free-3bde2c06f3581fa095317bad8ae40b15d55877cb.tar.zst gpt4free-3bde2c06f3581fa095317bad8ae40b15d55877cb.zip |
Diffstat (limited to 'Dockerfile')
-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"] |