Add agent workflows & stuff
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
FROM node:22-bookworm
|
||||
|
||||
ENV COREPACK_ENABLE_DOWNLOAD_PROMPT=0
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
bash \
|
||||
build-essential \
|
||||
ca-certificates \
|
||||
curl \
|
||||
git \
|
||||
jq \
|
||||
openssh-client \
|
||||
python3 \
|
||||
ripgrep \
|
||||
&& corepack enable \
|
||||
&& npm install -g bun@1.3.10 \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN useradd --create-home --shell /bin/bash agent
|
||||
USER agent
|
||||
WORKDIR /workspace
|
||||
|
||||
CMD ["bash"]
|
||||
@@ -0,0 +1,24 @@
|
||||
FROM oven/bun:1.3.10
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
bash \
|
||||
ca-certificates \
|
||||
curl \
|
||||
docker.io \
|
||||
git \
|
||||
jq \
|
||||
openssh-client \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY package.json bun.lock* turbo.json ./
|
||||
COPY apps ./apps
|
||||
COPY packages ./packages
|
||||
COPY tools ./tools
|
||||
COPY scripts ./scripts
|
||||
|
||||
RUN bun install --frozen-lockfile
|
||||
|
||||
CMD ["bun", "apps/agent-worker/src/index.ts"]
|
||||
@@ -58,6 +58,34 @@ services:
|
||||
condition: service_healthy
|
||||
restart: unless-stopped
|
||||
|
||||
spoon-agent-worker:
|
||||
profiles: ['agent']
|
||||
build:
|
||||
context: ../
|
||||
dockerfile: ./docker/agent-worker.Dockerfile
|
||||
image: spoon-agent-worker:latest
|
||||
container_name: spoon-local-agent-worker
|
||||
environment:
|
||||
- NEXT_PUBLIC_CONVEX_URL=http://convex-backend:3210
|
||||
- SPOON_WORKER_TOKEN=${SPOON_WORKER_TOKEN}
|
||||
- SPOON_AGENT_WORKER_ID=${SPOON_AGENT_WORKER_ID:-local-worker}
|
||||
- SPOON_AGENT_JOB_IMAGE=${SPOON_AGENT_JOB_IMAGE:-spoon-agent-job:latest}
|
||||
- SPOON_AGENT_RUNTIME=${SPOON_AGENT_RUNTIME:-docker}
|
||||
- SPOON_AGENT_NETWORK=${SPOON_AGENT_NETWORK:-spoon-local_default}
|
||||
- SPOON_AGENT_MAX_CONCURRENT_JOBS=${SPOON_AGENT_MAX_CONCURRENT_JOBS:-1}
|
||||
- SPOON_AGENT_JOB_TIMEOUT_MS=${SPOON_AGENT_JOB_TIMEOUT_MS:-1800000}
|
||||
- SPOON_AGENT_WORKDIR=${SPOON_AGENT_WORKDIR:-/var/lib/spoon-agent/work}
|
||||
- GITHUB_APP_ID=${GITHUB_APP_ID}
|
||||
- GITHUB_APP_PRIVATE_KEY=${GITHUB_APP_PRIVATE_KEY}
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- agent-work:/var/lib/spoon-agent/work
|
||||
depends_on:
|
||||
convex-backend:
|
||||
condition: service_healthy
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
postgres-data:
|
||||
convex-data:
|
||||
agent-work:
|
||||
|
||||
@@ -87,3 +87,34 @@ services:
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 10s
|
||||
stop_signal: SIGINT
|
||||
|
||||
spoon-agent-worker:
|
||||
build:
|
||||
context: ../
|
||||
dockerfile: ./docker/agent-worker.Dockerfile
|
||||
image: spoon-agent-worker:latest
|
||||
container_name: ${AGENT_WORKER_CONTAINER_NAME:-spoon-agent-worker}
|
||||
hostname: ${AGENT_WORKER_CONTAINER_NAME:-spoon-agent-worker}
|
||||
networks: ['${NETWORK:-nginx-bridge}']
|
||||
environment:
|
||||
- NEXT_PUBLIC_CONVEX_URL=${CONVEX_SELF_HOSTED_URL:-http://${BACKEND_CONTAINER_NAME:-spoon-backend}:${BACKEND_PORT:-3210}}
|
||||
- SPOON_WORKER_TOKEN=${SPOON_WORKER_TOKEN}
|
||||
- SPOON_AGENT_WORKER_ID=${SPOON_AGENT_WORKER_ID:-production-worker}
|
||||
- SPOON_AGENT_JOB_IMAGE=${SPOON_AGENT_JOB_IMAGE:-spoon-agent-job:latest}
|
||||
- SPOON_AGENT_RUNTIME=${SPOON_AGENT_RUNTIME:-docker}
|
||||
- SPOON_AGENT_NETWORK=${SPOON_AGENT_NETWORK:-nginx-bridge}
|
||||
- SPOON_AGENT_MAX_CONCURRENT_JOBS=${SPOON_AGENT_MAX_CONCURRENT_JOBS:-1}
|
||||
- SPOON_AGENT_JOB_TIMEOUT_MS=${SPOON_AGENT_JOB_TIMEOUT_MS:-1800000}
|
||||
- SPOON_AGENT_WORKDIR=${SPOON_AGENT_WORKDIR:-/var/lib/spoon-agent/work}
|
||||
- GITHUB_APP_ID=${GITHUB_APP_ID}
|
||||
- GITHUB_APP_PRIVATE_KEY=${GITHUB_APP_PRIVATE_KEY}
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- spoon-agent-work:/var/lib/spoon-agent/work
|
||||
depends_on:
|
||||
spoon-backend:
|
||||
condition: service_healthy
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
spoon-agent-work:
|
||||
|
||||
Reference in New Issue
Block a user