From a9a1aa6fb5f07ebdf8e986479df2d75ffe207bbe Mon Sep 17 00:00:00 2001 From: singulart <7863785+singulart@users.noreply.github.com> Date: Thu, 9 May 2024 09:57:12 -0400 Subject: [PATCH] tobiko-app image size reduced from 3GB to 1.3GB --- Dockerfile.api | 17 ++++++++++++----- docker-compose.yml | 4 ++-- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/Dockerfile.api b/Dockerfile.api index 0a9fb85c1b..c004daec25 100644 --- a/Dockerfile.api +++ b/Dockerfile.api @@ -1,8 +1,15 @@ -FROM python:3.11 - -WORKDIR /sqlmesh - +FROM python:3.11-slim-bullseye AS venv-image +RUN apt-get update && apt-get -y install libpq-dev gcc COPY setup.py setup.py COPY sqlmesh/_version.py sqlmesh/_version.py +ENV VIRTUAL_ENV=/.venv +ENV PATH="$VIRTUAL_ENV/bin:$PATH" +RUN python3 -m venv $VIRTUAL_ENV +RUN pip3 install -e .[dev,web] -RUN pip install -e .[dev,web] +FROM python:3.11-slim-bullseye as app-image +WORKDIR /app +ENV VIRTUAL_ENV=/opt/venv +ENV PATH="$VIRTUAL_ENV/bin:$PATH" +RUN python3 -m venv $VIRTUAL_ENV +COPY --from=venv-image /.venv $VIRTUAL_ENV diff --git a/docker-compose.yml b/docker-compose.yml index ab75e0569a..b0dfa1529d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,7 +7,7 @@ services: build: context: . dockerfile: Dockerfile.api - command: python web/server/openapi.py + command: python3 web/server/openapi.py volumes: - .:/sqlmesh @@ -37,7 +37,7 @@ services: build: context: . dockerfile: Dockerfile.api - command: python -m uvicorn web.server.main:app --host 0.0.0.0 --port 8000 --reload --reload-dir /sqlmesh/web/server --reload-dir /sqlmesh/sqlmesh --timeout-keep-alive 300 --timeout-graceful-shutdown 1 + command: python3 -m uvicorn web.server.main:app --host 0.0.0.0 --port 8000 --reload --reload-dir /sqlmesh/web/server --reload-dir /sqlmesh/sqlmesh --timeout-keep-alive 300 --timeout-graceful-shutdown 1 ports: - 8000:8000 volumes: