aboutsummaryrefslogtreecommitdiff
path: root/autogpts/forge/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'autogpts/forge/Dockerfile')
-rw-r--r--autogpts/forge/Dockerfile40
1 files changed, 40 insertions, 0 deletions
diff --git a/autogpts/forge/Dockerfile b/autogpts/forge/Dockerfile
new file mode 100644
index 000000000..e102f664c
--- /dev/null
+++ b/autogpts/forge/Dockerfile
@@ -0,0 +1,40 @@
+# Use an official Python runtime as a parent image
+FROM python:3.11-slim-buster as base
+
+# Set work directory in the container
+WORKDIR /app
+
+# Install system dependencies
+RUN apt-get update \
+ && apt-get install -y build-essential curl ffmpeg \
+ && apt-get clean \
+ && rm -rf /var/lib/apt/lists/*
+
+
+# Install Poetry - respects $POETRY_VERSION & $POETRY_HOME
+ENV POETRY_VERSION=1.1.8 \
+ POETRY_HOME="/opt/poetry" \
+ POETRY_NO_INTERACTION=1 \
+ POETRY_VIRTUALENVS_CREATE=false \
+ PATH="$POETRY_HOME/bin:$PATH"
+
+RUN pip3 install poetry
+
+COPY pyproject.toml poetry.lock* /app/
+
+# Project initialization:
+RUN poetry install --no-interaction --no-ansi
+
+ENV PYTHONPATH="/app:$PYTHONPATH"
+
+FROM base as dependencies
+
+# Copy project
+COPY . /app
+
+
+# Make port 80 available to the world outside this container
+EXPOSE 8000
+
+# Run the application when the container launches
+CMD ["poetry", "run", "python", "autogpt/__main__.py"] \ No newline at end of file