fix: fix Docker dev mode - build shared before starting, fix web container

This commit is contained in:
2026-04-02 13:44:01 +08:00
parent f5907892bf
commit dfe2a5acae
3 changed files with 34 additions and 10 deletions

View File

@@ -5,13 +5,21 @@ services:
server: server:
build: build:
context: .
dockerfile: packages/server/Dockerfile
target: deps target: deps
command: sh -c "npx prisma generate --schema=prisma/schema.prisma && pnpm --filter @agent-fox/server dev" command: >
sh -c "
npx prisma generate --schema=prisma/schema.prisma &&
cd /app/packages/shared && npx tsc &&
cd /app &&
pnpm --filter @agent-fox/server dev
"
volumes: volumes:
- ./packages/shared/src:/app/packages/shared/src - ./packages/shared/src:/app/packages/shared/src
- ./packages/shared/tsconfig.json:/app/packages/shared/tsconfig.json
- ./packages/server/src:/app/packages/server/src - ./packages/server/src:/app/packages/server/src
- ./prisma:/app/prisma - ./prisma:/app/prisma
- ./tsconfig.base.json:/app/tsconfig.base.json
environment: environment:
DATABASE_URL: postgresql://agentfox:agentfox@postgres:5432/agentfox DATABASE_URL: postgresql://agentfox:agentfox@postgres:5432/agentfox
JWT_SECRET: dev-secret JWT_SECRET: dev-secret
@@ -21,24 +29,36 @@ services:
mcp: mcp:
build: build:
context: .
dockerfile: packages/mcp/Dockerfile
target: deps target: deps
command: sh -c "npx prisma generate --schema=prisma/schema.prisma && pnpm --filter @agent-fox/mcp dev" command: >
sh -c "
npx prisma generate --schema=prisma/schema.prisma &&
cd /app/packages/shared && npx tsc &&
cd /app &&
pnpm --filter @agent-fox/mcp dev
"
volumes: volumes:
- ./packages/shared/src:/app/packages/shared/src - ./packages/shared/src:/app/packages/shared/src
- ./packages/shared/tsconfig.json:/app/packages/shared/tsconfig.json
- ./packages/mcp/src:/app/packages/mcp/src - ./packages/mcp/src:/app/packages/mcp/src
- ./prisma:/app/prisma - ./prisma:/app/prisma
- ./tsconfig.base.json:/app/tsconfig.base.json
environment: environment:
DATABASE_URL: postgresql://agentfox:agentfox@postgres:5432/agentfox DATABASE_URL: postgresql://agentfox:agentfox@postgres:5432/agentfox
MCP_PORT: "3001" MCP_PORT: "3001"
NODE_ENV: development NODE_ENV: development
web: web:
image: node:20-alpine build:
working_dir: /app context: .
command: sh -c "corepack enable && corepack prepare pnpm@latest --activate && pnpm install && pnpm --filter @agent-fox/web dev -- --host 0.0.0.0" dockerfile: packages/web/Dockerfile
target: build
command: >
sh -c "pnpm --filter @agent-fox/web dev -- --host 0.0.0.0"
volumes: volumes:
- .:/app - ./packages/web/src:/app/packages/web/src
- ./packages/web/index.html:/app/packages/web/index.html
ports: ports:
- "5173:5173" - "5173:5173"
environment: environment:

View File

@@ -3,9 +3,11 @@ RUN corepack enable && corepack prepare pnpm@latest --activate
WORKDIR /app WORKDIR /app
FROM base AS deps FROM base AS deps
COPY pnpm-lock.yaml pnpm-workspace.yaml package.json ./ COPY pnpm-lock.yaml pnpm-workspace.yaml package.json tsconfig.base.json ./
COPY packages/shared/package.json packages/shared/ COPY packages/shared/package.json packages/shared/
COPY packages/shared/tsconfig.json packages/shared/
COPY packages/mcp/package.json packages/mcp/ COPY packages/mcp/package.json packages/mcp/
COPY packages/mcp/tsconfig.json packages/mcp/
COPY prisma/ prisma/ COPY prisma/ prisma/
RUN pnpm install --frozen-lockfile RUN pnpm install --frozen-lockfile

View File

@@ -3,9 +3,11 @@ RUN corepack enable && corepack prepare pnpm@latest --activate
WORKDIR /app WORKDIR /app
FROM base AS deps FROM base AS deps
COPY pnpm-lock.yaml pnpm-workspace.yaml package.json ./ COPY pnpm-lock.yaml pnpm-workspace.yaml package.json tsconfig.base.json ./
COPY packages/shared/package.json packages/shared/ COPY packages/shared/package.json packages/shared/
COPY packages/shared/tsconfig.json packages/shared/
COPY packages/server/package.json packages/server/ COPY packages/server/package.json packages/server/
COPY packages/server/tsconfig.json packages/server/
COPY prisma/ prisma/ COPY prisma/ prisma/
RUN pnpm install --frozen-lockfile RUN pnpm install --frozen-lockfile