From f27364a442352cf4990e0dbd134e0e6d71be0514 Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Thu, 13 Jul 2023 23:59:22 +0100 Subject: [PATCH 1/2] Merged background and api-server images --- .../docker-build-and-push-on-tag.yml | 9 --------- .github/workflows/docker-tag-latest.yml | 8 -------- backend/Dockerfile | 8 ++++++-- backend/Dockerfile.background | 19 ------------------- .../docker_compose/docker-compose.dev.yml | 5 +++-- 5 files changed, 9 insertions(+), 40 deletions(-) delete mode 100644 backend/Dockerfile.background diff --git a/.github/workflows/docker-build-and-push-on-tag.yml b/.github/workflows/docker-build-and-push-on-tag.yml index 4c9ee209f..154d52a58 100644 --- a/.github/workflows/docker-build-and-push-on-tag.yml +++ b/.github/workflows/docker-build-and-push-on-tag.yml @@ -39,12 +39,3 @@ jobs: platforms: linux/amd64,linux/arm64 push: true tags: danswer/danswer-api-server:${{ github.ref_name }} - - - name: Background Job Docker Build and Push - uses: docker/build-push-action@v2 - with: - context: ./backend - file: ./backend/Dockerfile.background - platforms: linux/amd64,linux/arm64 - push: true - tags: danswer/danswer-background:${{ github.ref_name }} diff --git a/.github/workflows/docker-tag-latest.yml b/.github/workflows/docker-tag-latest.yml index ae8bb569f..8b990c0e9 100644 --- a/.github/workflows/docker-tag-latest.yml +++ b/.github/workflows/docker-tag-latest.yml @@ -38,11 +38,3 @@ jobs: docker push danswer/danswer-api-server:latest docker manifest create danswer/danswer-api-server:latest danswer/danswer-api-server:latest docker manifest push danswer/danswer-api-server:latest - - - name: Pull, Tag and Push Background Job Image - run: | - docker pull danswer/danswer-background:${{ github.event.inputs.version }} - docker tag danswer/danswer-background:${{ github.event.inputs.version }} danswer/danswer-background:latest - docker push danswer/danswer-background:latest - docker manifest create danswer/danswer-background:latest danswer/danswer-background:latest - docker manifest push danswer/danswer-background:latest diff --git a/backend/Dockerfile b/backend/Dockerfile index a13fc59ae..5cbb0c3e7 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -1,17 +1,21 @@ FROM python:3.11-slim-bullseye RUN apt-get update \ - && apt-get install -y git cmake pkg-config libprotobuf-c-dev protobuf-compiler \ - libprotobuf-dev libgoogle-perftools-dev libpq-dev build-essential curl \ + && apt-get install -y git cmake pkg-config libprotobuf-c-dev protobuf-compiler \ + libprotobuf-dev libgoogle-perftools-dev libpq-dev build-essential cron curl \ + supervisor \ && rm -rf /var/lib/apt/lists/* COPY ./requirements/default.txt /tmp/requirements.txt RUN pip install --no-cache-dir --upgrade -r /tmp/requirements.txt +RUN playwright install +RUN playwright install-deps WORKDIR /app COPY ./danswer /app/danswer COPY ./alembic /app/alembic COPY ./alembic.ini /app/alembic.ini +COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf ENV PYTHONPATH /app CMD ["/bin/sh", "-c", "alembic upgrade head && echo \"Starting Danswer Api Server\" && uvicorn danswer.main:app --host 0.0.0.0 --port 8080"] diff --git a/backend/Dockerfile.background b/backend/Dockerfile.background deleted file mode 100644 index b78fbe3a6..000000000 --- a/backend/Dockerfile.background +++ /dev/null @@ -1,19 +0,0 @@ -FROM python:3.11-slim-bullseye - -RUN apt-get update \ - && apt-get install -y git cmake pkg-config libprotobuf-c-dev protobuf-compiler \ - libprotobuf-dev libgoogle-perftools-dev libpq-dev build-essential cron curl \ - supervisor \ - && rm -rf /var/lib/apt/lists/* - -COPY ./requirements/default.txt /tmp/requirements.txt -RUN pip install --no-cache-dir --upgrade -r /tmp/requirements.txt -RUN playwright install -RUN playwright install-deps - -WORKDIR /app -COPY ./danswer /app/danswer -COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf - -ENV PYTHONPATH /app -CMD ["/usr/bin/supervisord"] diff --git a/deployment/docker_compose/docker-compose.dev.yml b/deployment/docker_compose/docker-compose.dev.yml index 8842118f0..60f6b5563 100644 --- a/deployment/docker_compose/docker-compose.dev.yml +++ b/deployment/docker_compose/docker-compose.dev.yml @@ -22,10 +22,11 @@ services: - local_dynamic_storage:/home/storage - file_connector_tmp_storage:/home/file_connector_storage background: - image: danswer/danswer-background:latest + image: danswer/danswer-api-server:latest build: context: ../../backend - dockerfile: Dockerfile.background + dockerfile: Dockerfile + command: /usr/bin/supervisord depends_on: - relational_db - vector_db From e3a4614bfe15144bcdf15a2248f0ceb1bf1145f8 Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Sat, 15 Jul 2023 18:54:45 +0100 Subject: [PATCH 2/2] Updated k8s and prod compose setups to work with merged images --- deployment/docker_compose/docker-compose.prod.yml | 3 ++- deployment/kubernetes/background-deployment.yaml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/deployment/docker_compose/docker-compose.prod.yml b/deployment/docker_compose/docker-compose.prod.yml index bdf05bbb6..0b73cf6f9 100644 --- a/deployment/docker_compose/docker-compose.prod.yml +++ b/deployment/docker_compose/docker-compose.prod.yml @@ -20,10 +20,11 @@ services: - local_dynamic_storage:/home/storage - file_connector_tmp_storage:/home/file_connector_storage background: - image: danswer/danswer-background:latest + image: danswer/danswer-api-server:latest build: context: ../../backend dockerfile: Dockerfile.background + command: /usr/bin/supervisord depends_on: - relational_db - vector_db diff --git a/deployment/kubernetes/background-deployment.yaml b/deployment/kubernetes/background-deployment.yaml index 4cbc720c0..1283d8ce5 100644 --- a/deployment/kubernetes/background-deployment.yaml +++ b/deployment/kubernetes/background-deployment.yaml @@ -14,8 +14,9 @@ spec: spec: containers: - name: background - image: danswer/danswer-background:latest + image: danswer/danswer-api-server:latest imagePullPolicy: IfNotPresent + command: ["/usr/bin/supervisord"] env: - name: POSTGRES_HOST value: relational-db-service