Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 4 additions & 12 deletions .github/workflows/docker-tools-build-push.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,11 @@ on:
service_name:
description: "Tool to build"
required: true
default: "tool-structure" # Provide a default value
default: "tool-sidecar" # Provide a default value
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@harini-venkataraman tool sidecar can also be removed right? Essentially this workflow file itself

type: choice
options: # Define available options
- tool-classifier
- tool-structure
- tool-text-extractor
- tool-sidecar
- tool-text-extractor
add_latest_tag:
description: "Also tag as 'latest'"
required: false
Expand Down Expand Up @@ -58,18 +56,12 @@ jobs:
- name: Set build configuration
id: build-config
run: |
if [ "${{ github.event.inputs.service_name }}" == "tool-classifier" ]; then
echo "context=." >> $GITHUB_OUTPUT
echo "dockerfile=./tools/classifier/Dockerfile" >> $GITHUB_OUTPUT
elif [ "${{ github.event.inputs.service_name }}" == "tool-structure" ]; then
if [ "${{ github.event.inputs.service_name }}" == "tool-sidecar" ]; then
echo "context=." >> $GITHUB_OUTPUT
echo "dockerfile=./tools/structure/Dockerfile" >> $GITHUB_OUTPUT
echo "dockerfile=docker/dockerfiles/tool-sidecar.Dockerfile" >> $GITHUB_OUTPUT
elif [ "${{ github.event.inputs.service_name }}" == "tool-text-extractor" ]; then
echo "context=." >> $GITHUB_OUTPUT
echo "dockerfile=./tools/text_extractor/Dockerfile" >> $GITHUB_OUTPUT
elif [ "${{ github.event.inputs.service_name }}" == "tool-sidecar" ]; then
echo "context=." >> $GITHUB_OUTPUT
echo "dockerfile=docker/dockerfiles/tool-sidecar.Dockerfile" >> $GITHUB_OUTPUT
fi
Comment on lines +59 to 65
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify this workflow no longer embeds GitHub expression templates directly in shell conditionals.
rg -n -C2 '\$\{\{\s*github\.event\.inputs\.service_name\s*\}\}' .github/workflows/docker-tools-build-push.yaml
# Expected after fix: only appears in YAML fields (e.g., run-name/tags), not inside shell branching logic.

Repository: Zipstack/unstract

Length of output: 1382


🏁 Script executed:

rg -n -C2 '\$\{\{\s*github\.event\.inputs\.service_name\s*\}\}' .github/workflows/docker-tools-build-push.yaml
# Expected: no occurrences inside the bash branching logic; `${{ github.event.inputs.service_name }}` should be assigned to an env var or used in non-branching YAML fields.

Repository: Zipstack/unstract

Length of output: 1382


Harden service_name branching and fail closed for unknown values.

In .github/workflows/docker-tools-build-push.yaml (lines 59-64), bash if/elif branches embed ${{ github.event.inputs.service_name }} directly and there’s no default else/* to reject unsupported values, so the step can leave $GITHUB_OUTPUT unset for unexpected inputs. Use an env var + case whitelist with an explicit exit 1 for unknown values.

Suggested patch
       - name: Set build configuration
         id: build-config
+        env:
+          SERVICE_NAME: ${{ github.event.inputs.service_name }}
         run: |
-          if [ "${{ github.event.inputs.service_name }}" == "tool-sidecar" ]; then
-            echo "context=." >> $GITHUB_OUTPUT
-            echo "dockerfile=docker/dockerfiles/tool-sidecar.Dockerfile" >> $GITHUB_OUTPUT
-          elif [ "${{ github.event.inputs.service_name }}" == "tool-text-extractor" ]; then
-            echo "context=." >> $GITHUB_OUTPUT
-            echo "dockerfile=./tools/text_extractor/Dockerfile" >> $GITHUB_OUTPUT
-          fi
+          case "$SERVICE_NAME" in
+            tool-sidecar)
+              echo "context=." >> "$GITHUB_OUTPUT"
+              echo "dockerfile=docker/dockerfiles/tool-sidecar.Dockerfile" >> "$GITHUB_OUTPUT"
+              ;;
+            tool-text-extractor)
+              echo "context=." >> "$GITHUB_OUTPUT"
+              echo "dockerfile=./tools/text_extractor/Dockerfile" >> "$GITHUB_OUTPUT"
+              ;;
+            *)
+              echo "Unsupported service_name: $SERVICE_NAME" >&2
+              exit 1
+              ;;
+          esac
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
if [ "${{ github.event.inputs.service_name }}" == "tool-sidecar" ]; then
echo "context=." >> $GITHUB_OUTPUT
echo "dockerfile=./tools/structure/Dockerfile" >> $GITHUB_OUTPUT
echo "dockerfile=docker/dockerfiles/tool-sidecar.Dockerfile" >> $GITHUB_OUTPUT
elif [ "${{ github.event.inputs.service_name }}" == "tool-text-extractor" ]; then
echo "context=." >> $GITHUB_OUTPUT
echo "dockerfile=./tools/text_extractor/Dockerfile" >> $GITHUB_OUTPUT
elif [ "${{ github.event.inputs.service_name }}" == "tool-sidecar" ]; then
echo "context=." >> $GITHUB_OUTPUT
echo "dockerfile=docker/dockerfiles/tool-sidecar.Dockerfile" >> $GITHUB_OUTPUT
fi
- name: Set build configuration
id: build-config
env:
SERVICE_NAME: ${{ github.event.inputs.service_name }}
run: |
case "$SERVICE_NAME" in
tool-sidecar)
echo "context=." >> "$GITHUB_OUTPUT"
echo "dockerfile=docker/dockerfiles/tool-sidecar.Dockerfile" >> "$GITHUB_OUTPUT"
;;
tool-text-extractor)
echo "context=." >> "$GITHUB_OUTPUT"
echo "dockerfile=./tools/text_extractor/Dockerfile" >> "$GITHUB_OUTPUT"
;;
*)
echo "Unsupported service_name: $SERVICE_NAME" >&2
exit 1
;;
esac
🧰 Tools
🪛 zizmor (1.25.2)

[error] 59-59: code injection via template expansion (template-injection): may expand into attacker-controllable code

(template-injection)


[error] 62-62: code injection via template expansion (template-injection): may expand into attacker-controllable code

(template-injection)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/docker-tools-build-push.yaml around lines 59 - 65, Replace
direct inline checks of ${{ github.event.inputs.service_name }} with a single
env variable (e.g., SERVICE_NAME) and a case whitelist that sets GITHUB_OUTPUT
keys (context and dockerfile) for known services ("tool-sidecar",
"tool-text-extractor") and otherwise prints an error and exits non‑zero to fail
closed; update the branch that currently echoes "context" and "dockerfile" to
use the values chosen in the case for SERVICE_NAME, and ensure unknown values
trigger an explicit exit 1 so $GITHUB_OUTPUT is never left unset for invalid
inputs.


# Determine tags based on inputs
Expand Down
5 changes: 2 additions & 3 deletions .github/workflows/production-build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,6 @@ jobs:
backend,
frontend,
platform-service,
prompt-service,
runner,
worker-unified,
x2text-service,
Expand Down Expand Up @@ -225,7 +224,7 @@ jobs:
id: summary
run: |
# Initialize variables
TOTAL_SERVICES=7
TOTAL_SERVICES=6
OVERALL_RESULT='${{ needs.build-and-push.result }}'
SUCCESS_COUNT=0
FAILED_COUNT=0
Expand Down Expand Up @@ -316,7 +315,7 @@ jobs:
echo "|---------|--------|" >> $GITHUB_STEP_SUMMARY

# Define services in order
for service in backend frontend platform-service prompt-service runner worker-unified x2text-service; do
for service in backend frontend platform-service runner worker-unified x2text-service; do
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we are removing the tools, we should remove the runner as well

if [ -f "build-status/${service}.json" ]; then
STATUS=$(jq -r '.status' "build-status/${service}.json")
if [ "$STATUS" = "success" ]; then
Expand Down
2 changes: 0 additions & 2 deletions backend/backend/settings/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -153,8 +153,6 @@ def get_required_setting(setting_key: str, default: str | None = None) -> str |
FLIPT_BASE_URL = os.environ.get("FLIPT_BASE_URL", "http://localhost:9005")
PLATFORM_HOST = os.environ.get("PLATFORM_SERVICE_HOST", "http://localhost")
PLATFORM_PORT = os.environ.get("PLATFORM_SERVICE_PORT", 3001)
PROMPT_HOST = os.environ.get("PROMPT_HOST", "http://localhost")
PROMPT_PORT = os.environ.get("PROMPT_PORT", 3003)
PROMPT_STUDIO_FILE_PATH = os.environ.get(
"PROMPT_STUDIO_FILE_PATH", "/app/prompt-studio-data"
)
Expand Down
4 changes: 0 additions & 4 deletions backend/sample.env
Original file line number Diff line number Diff line change
Expand Up @@ -90,10 +90,6 @@ UNSTRACT_RUNNER_API_TIMEOUT=240 # (in seconds) 2 mins
UNSTRACT_RUNNER_API_RETRY_COUNT=5 # Number of retries for failed requests
UNSTRACT_RUNNER_API_BACKOFF_FACTOR=3 # Exponential backoff factor for retries

# Prompt Service
PROMPT_HOST=http://unstract-prompt-service
PROMPT_PORT=3003

#Prompt Studio
PROMPT_STUDIO_FILE_PATH=/app/prompt-studio-data

Expand Down
16 changes: 0 additions & 16 deletions docker/compose.debug.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
# 5678 - backend
# 5679 - runner
# 5680 - platform-service
# 5681 - prompt-service
# 5682 - worker-file-processing-v2
# 5683 - worker-callback-v2
# 5684 - worker-api-deployment-v2
Expand Down Expand Up @@ -65,21 +64,6 @@ services:
--graceful-timeout 5 unstract.platform_service.run:app"
]

prompt-service:
ports:
- "5681:5681"
command: [
"uv run python -Xfrozen_modules=off -m debugpy --listen 0.0.0.0:5681 .venv/bin/gunicorn
--bind 0.0.0.0:3003
--workers 1
--threads 2
--worker-class gthread
--log-level debug
--timeout 900
--access-logfile -
--graceful-timeout 5 unstract.prompt_service.run:app"
]

#########################################################################################################
# V2 Workers with debugpy
# Using --pool=threads for debugpy compatibility (prefork doesn't work well with debugpy)
Expand Down
25 changes: 5 additions & 20 deletions docker/docker-compose.build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,36 +20,21 @@ services:
build:
dockerfile: docker/dockerfiles/tool-sidecar.Dockerfile
context: ..
tool-structure:
image: unstract/tool-structure:${VERSION}
build:
dockerfile: tools/structure/Dockerfile
context: ..
tool-text_extractor:
image: unstract/tool-text_extractor:${VERSION}
build:
dockerfile: tools/text_extractor/Dockerfile
context: ..
tool-classifier:
image: unstract/tool-classifier:${VERSION}
build:
dockerfile: tools/classifier/Dockerfile
context: ..
platform-service:
image: unstract/platform-service:${VERSION}
build:
dockerfile: docker/dockerfiles/platform.Dockerfile
context: ..
prompt-service:
image: unstract/prompt-service:${VERSION}
build:
dockerfile: docker/dockerfiles/prompt.Dockerfile
context: ..
x2text-service:
image: unstract/x2text-service:${VERSION}
build:
dockerfile: docker/dockerfiles/x2text.Dockerfile
context: ..
tool-text_extractor:
image: unstract/tool-text_extractor:${VERSION}
build:
dockerfile: tools/text_extractor/Dockerfile
context: ..
Comment on lines +33 to +37
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | 🏗️ Heavy lift

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Inventory both naming variants to quantify blast radius before renaming.
rg -n -C2 'tool-text[-_]extractor|tool-text[_-]extractor|tool-text_extractor|tool-text-extractor'
# Expected: pick one canonical form and eliminate the other across workflows/compose/scripts/docs.

Repository: Zipstack/unstract

Length of output: 3034


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Find all occurrences and show them grouped by file
rg -n --hidden --no-ignore-vcs 'tool-text[-_]extractor|tool-text_extractor' . \
  | sed -E 's/^(.*):([0-9]+):(.*)$/\1:\2:\3/' \
  | awk -F: '{file=$1":"$2; print}' >/dev/null

# Full match listing (limited context per match)
rg -n -C1 --hidden --no-ignore-vcs 'tool-text_extractor|tool-text-extractor' . 

echo "---- public_tools.json image_name/image_url entries ----"
rg -n -C2 'tool-text[_-]extractor' unstract/tool-registry/tool_registry_config/public_tools.json

echo "---- docker-tools-build-push workflow ----"
rg -n -C2 'tool-text[_-]extractor' .github/workflows/docker-tools-build-push.yaml

echo "---- docker compose build yaml ----"
rg -n -C2 'tool-text[_-]extractor' docker/docker-compose.build.yaml

echo "---- run-platform.sh ignore_services / service wiring ----"
rg -n -C2 'tool-text[_-]extractor' run-platform.sh

Repository: Zipstack/unstract

Length of output: 6334


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Look for image/tag construction in the workflow
rg -n --hidden --no-ignore-vcs 'unstract/tool-[^"\s]+' .github/workflows/docker-tools-build-push.yaml

# Look for any usage of underscore variant outside compose
rg -n --hidden --no-ignore-vcs 'tool-text_extractor' . \
  | head -n 50

# Look for any usage of hyphen variant outside the workflow list
rg -n --hidden --no-ignore-vcs 'tool-text-extractor' . \
  | head -n 50

# Show the relevant portion of the workflow where image name is set (keep output small)
python3 - <<'PY'
import itertools, pathlib
p = pathlib.Path(".github/workflows/docker-tools-build-push.yaml")
lines = p.read_text().splitlines()
for i,l in enumerate(lines,1):
    if "service_name" in l or "image" in l or "docker build" in l or "DOCKER" in l:
        pass
# Print a window around likely blocks
keys = ["service_name", "image", "dockerfile=", "build-push", "docker/build-push-action", "repository", "tags"]
idxs=[]
for i,l in enumerate(lines,1):
    if any(k in l for k in keys):
        idxs.append(i)
if not idxs:
    idxs=[1]
start=max(1,min(idxs)-5)
end=min(len(lines),max(idxs)+30)
for i in range(start,end+1):
    print(f"{i:4d}:{lines[i-1]}")
PY

Repository: Zipstack/unstract

Length of output: 43


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# 1) Find where workflow sets service_name -> dockerfile/context (avoid exit 1 on no matches)
rg -n --hidden --no-ignore-vcs 'tool-text_extractor|tool-text-extractor|service_name|dockerfile|image|DOCKER' .github/workflows/docker-tools-build-push.yaml || true

echo "---- workflow full (first 120 lines) ----"
sed -n '1,120p' .github/workflows/docker-tools-build-push.yaml

echo "---- workflow remainder (next 120 lines, if any) ----"
sed -n '121,260p' .github/workflows/docker-tools-build-push.yaml || true

# 2) Check for underscore variant service names in other CI/scripts
echo "---- repo occurrences of tool-text_extractor (service naming) ----"
rg -n --hidden --no-ignore-vcs 'tool-text_extractor' . || true

echo "---- repo occurrences of tool-text-extractor (service naming) ----"
rg -n --hidden --no-ignore-vcs 'tool-text-extractor' . || true

Repository: Zipstack/unstract

Length of output: 5478


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "---- docker/docker-compose.build.yaml (lines 1-80) ----"
sed -n '1,80p' docker/docker-compose.build.yaml

echo "---- run-platform.sh (lines 300-380) ----"
sed -n '300,380p' run-platform.sh

echo "---- run-platform.sh: find where ignore_services are applied (small neighborhood) ----"
rg -n --no-ignore-vcs 'ignore_services=' run-platform.sh
rg -n --no-ignore-vcs 'ignore_services' run-platform.sh | head -n 20

Repository: Zipstack/unstract

Length of output: 3582


🏁 Script executed:

#!/bin/bash
set -euo pipefail
sed -n '160,230p' run-platform.sh

Repository: Zipstack/unstract

Length of output: 3384


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "---- Search compose.yaml for tool-text-extractor / tool-text_extractor ----"
rg -n --hidden --no-ignore-vcs 'tool-text-extractor|tool-text_extractor' docker/docker-compose*.yaml

echo "---- Search tool registry config (public_tools.json already saw hyphen) for underscore variant ----"
rg -n --hidden --no-ignore-vcs 'tool-text_extractor' unstract/tool-registry || true

echo "---- Search for underscore/hyphen image repo usage in general (limit output) ----"
rg -n --hidden --no-ignore-vcs 'unstract/tool-text_extractor|unstract/tool-text-extractor' . | head -n 50

Repository: Zipstack/unstract

Length of output: 811


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "---- docker/docker-compose.yaml tool image references ----"
rg -n --hidden --no-ignore-vcs 'tool-text-extractor|tool-text_extractor' docker/docker-compose.yaml docker/docker-compose*.yaml

echo "---- any other compose files beyond docker/docker-compose*.yaml ----"
fd -e yaml .github docker | rg -n --hidden --no-ignore-vcs 'tool-text-extractor|tool-text_extractor' || true

Repository: Zipstack/unstract

Length of output: 335


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Check whether runtime references the public tool registry (likely tool image names)
rg -n --hidden --no-ignore-vcs 'public_tools\.json|tool_registry_config|tool registry|tool-registry|public_tools' . \
  | head -n 80

# Check for any other references to the image repo name patterns outside the compose build file
rg -n --hidden --no-ignore-vcs 'unstract/tool-(text[-_]extractor)' . \
  | head -n 80

# Check docker-compose.yaml for any service wiring that might reference tool image names indirectly
rg -n --hidden --no-ignore-vcs 'tool-(text[-_]extractor)|text_extractor|text-extractor|adapter|tool.*image|image_name|image_url' docker/docker-compose.yaml \
  || true

Repository: Zipstack/unstract

Length of output: 8928


🏁 Script executed:

rg -n --hidden --no-ignore-vcs 'tool-text[-_]extractor|unstract/tool-text[-_]extractor' docker docker/scripts .github/workflows unstract/tool-registry

Repository: Zipstack/unstract

Length of output: 684


🏁 Script executed:

#!/bin/bash
set -euo pipefail
rg -n --hidden --no-ignore-vcs 'tool-text_extractor' . && true

Repository: Zipstack/unstract

Length of output: 340


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Where tool registry fields image_name/image_url are used to run/pull containers
rg -n --hidden --no-ignore-vcs 'image_name|image_url' unstract backend workers docker | head -n 120

Repository: Zipstack/unstract

Length of output: 13915


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Check whether env directories exist for both delimiters (what run-platform.sh expects)
ls -ld tool-text_extractor tool-text-extractor 2>/dev/null || true
find . -maxdepth 1 -type d -name 'tool-text*' -print

# Also verify whether compose service keys map to actual env sample.env paths
for d in tool-text_extractor tool-text-extractor; do
  if [ -d "$d" ]; then
    echo "---- $d contents ----"
    ls -la "$d" | head -n 50
    [ -f "$d/sample.env" ] && echo "has sample.env" || echo "missing sample.env"
  fi
done

Repository: Zipstack/unstract

Length of output: 43


🏁 Script executed:

rg -n --hidden --no-ignore-vcs 'tool-text[-_]extractor|unstract/tool-text[-_]extractor' docker .github/workflows unstract/tool-registry

Repository: Zipstack/unstract

Length of output: 684


🏁 Script executed:

#!/bin/bash
set -euo pipefail
rg -n --no-ignore-vcs 'build_services\(\)|build_services\s*\{' run-platform.sh
sed -n '230,320p' run-platform.sh

Repository: Zipstack/unstract

Length of output: 4093


Fix tool-text-extractor image repository name mismatch (tool-text_extractor vs tool-text-extractor)

  • docker/docker-compose.build.yaml builds unstract/tool-text_extractor:${VERSION} (underscore in the image repo name).
  • .github/workflows/docker-tools-build-push.yaml builds/pushes unstract/tool-text-extractor:${{ inputs.tag }} (hyphen).
  • unstract/tool-registry/tool_registry_config/public_tools.json publishes/uses unstract/tool-text-extractor.

run-platform.sh’s --build-local path will therefore build a differently named image than the one the platform/tool registry expects. Update docker/docker-compose.build.yaml to use the hyphenated image repo name in the image: field (leave the compose service key tool-text_extractor unchanged since run-platform.sh references it).

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docker/docker-compose.build.yaml` around lines 33 - 37, The docker-compose
service key tool-text_extractor currently has an image name with an underscore
(unstract/tool-text_extractor:${VERSION}) which mismatches other places
expecting the hyphenated repo name; update the image: value for the
tool-text_extractor service to unstract/tool-text-extractor:${VERSION} (keep the
service key tool-text_extractor unchanged) so the locally built image name
matches the registry and CI naming used by run-platform.sh,
.github/workflows/docker-tools-build-push.yaml and public_tools.json.

# Unified worker image (replaces all individual worker images)
worker-unified:
image: unstract/worker-unified:${VERSION}
Expand Down
20 changes: 0 additions & 20 deletions docker/docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ services:
- minio
- minio-bootstrap
- platform-service
- prompt-service
- x2text-service
volumes:
- prompt_studio_data:/app/prompt-studio-data
Expand Down Expand Up @@ -151,25 +150,6 @@ services:
labels:
- traefik.enable=false

prompt-service:
image: unstract/prompt-service:${VERSION}
container_name: unstract-prompt-service
restart: unless-stopped
depends_on:
- db
- minio
- minio-bootstrap
- rabbitmq
ports:
- "3003:3003"
env_file:
- ../prompt-service/.env
labels:
- traefik.enable=false
extra_hosts:
# "host-gateway" is a special string that translates to host docker0 i/f IP.
- "host.docker.internal:host-gateway"

x2text-service:
image: unstract/x2text-service:${VERSION}
container_name: unstract-x2text-service
Expand Down
101 changes: 0 additions & 101 deletions docker/dockerfiles/prompt.Dockerfile

This file was deleted.

67 changes: 0 additions & 67 deletions docker/dockerfiles/prompt.Dockerfile.dockerignore

This file was deleted.

32 changes: 0 additions & 32 deletions docker/sample.compose.override.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -138,38 +138,6 @@ services:
- action: rebuild
path: ../platform-service/uv.lock

#########################################################################################################
# Prompt Service (memory optimized: 1 worker, 2 threads)
prompt-service:
image: unstract/prompt-service:${VERSION}
build:
dockerfile: docker/dockerfiles/prompt.Dockerfile
context: ..
entrypoint: ["bash", "-c"]
command: [
"uv run python -Xfrozen_modules=off .venv/bin/gunicorn
--bind 0.0.0.0:3003
--workers 1
--threads 2
--worker-class gthread
--log-level debug
--timeout 900
--access-logfile -
--graceful-timeout 5 unstract.prompt_service.run:app"
]
develop:
watch:
- action: sync+restart
path: ../prompt-service/
target: /app
ignore: [.venv/, __pycache__/, "*.pyc", .pytest_cache/, .mypy_cache/, node_modules/]
- action: sync+restart
path: ../unstract/
target: /unstract
ignore: [.venv/, __pycache__/, "*.pyc", .pytest_cache/, .mypy_cache/]
- action: rebuild
path: ../prompt-service/uv.lock

#########################################################################################################
# X2Text Service
x2text-service:
Expand Down
Loading
Loading