mirror of
https://github.com/KeygraphHQ/shannon.git
synced 2026-02-12 17:22:50 +00:00
refactor: consolidate Docker setup to root docker-compose.yml
This commit is contained in:
@@ -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
|
||||
@@ -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"]
|
||||
Reference in New Issue
Block a user