diff --git a/docker/docker-compose.temporal.yml b/docker-compose.yml similarity index 73% rename from docker/docker-compose.temporal.yml rename to docker-compose.yml index 8200065..8558219 100644 --- a/docker/docker-compose.temporal.yml +++ b/docker-compose.yml @@ -15,17 +15,18 @@ services: start_period: 30s worker: - build: - context: .. - dockerfile: docker/Dockerfile.worker + build: . + entrypoint: ["node", "dist/temporal/worker.js"] environment: - TEMPORAL_ADDRESS=temporal:7233 - - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} + - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-} + - CLAUDE_CODE_OAUTH_TOKEN=${CLAUDE_CODE_OAUTH_TOKEN:-} + - CLAUDE_CODE_MAX_OUTPUT_TOKENS=${CLAUDE_CODE_MAX_OUTPUT_TOKENS:-64000} depends_on: temporal: condition: service_healthy volumes: - - ../prompts:/app/prompts + - ./prompts:/app/prompts - ${TARGET_REPO:-/tmp/target-repo}:/target-repo shm_size: 2gb ipc: host diff --git a/docker/Dockerfile.worker b/docker/Dockerfile.worker deleted file mode 100644 index 31fd9f1..0000000 --- a/docker/Dockerfile.worker +++ /dev/null @@ -1,45 +0,0 @@ -# Wolfi-based worker for Shannon AI pentester -FROM cgr.dev/chainguard/wolfi-base:latest - -# Install Node.js 22, Python 3.12, Chromium, and dependencies -RUN apk add --no-cache \ - nodejs-22 \ - npm \ - python-3.12 \ - py3.12-pip \ - chromium \ - git \ - bash \ - curl - -# Install uv (includes uvx command) for browser-use -RUN pip install uv --break-system-packages - -# Create non-root user -RUN adduser -D -u 1000 pentest -WORKDIR /app - -# Copy package files first for better caching -COPY package*.json ./ - -# Install dependencies -RUN npm ci --omit=dev - -# Copy application code -COPY dist/ ./dist/ -COPY prompts/ ./prompts/ -COPY mcp-server/ ./mcp-server/ -COPY configs/ ./configs/ - -# Set ownership -RUN chown -R pentest:pentest /app - -# Switch to non-root user -USER pentest - -# Set Chromium path for Playwright -ENV CHROME_PATH=/usr/bin/chromium-browser -ENV PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/usr/bin/chromium-browser - -# Entry point -CMD ["node", "dist/temporal/worker.js"]