docker-compose.dev.yml 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. version: "3.9"
  2. # ============================================================
  3. # LambdaAgentPaaS — 开发模式 Compose(热重载)
  4. #
  5. # 用法:
  6. # docker compose -f docker-compose.dev.yml up
  7. #
  8. # 与 docker-compose.yml 的区别:
  9. # - 挂载完整源代码到容器 (热重载)
  10. # - 开启 debug 模式
  11. # - 同时暴露前端开发端口 5173
  12. # - 数据仍存到 ~/.agentpaas/data/ 保持隔离
  13. # ============================================================
  14. services:
  15. agentpaas-dev:
  16. build:
  17. context: .
  18. dockerfile: Dockerfile
  19. target: runtime # 只构建 Python 阶段,不构建前端
  20. container_name: lambdagentpaas-dev
  21. ports:
  22. - "8000:8000"
  23. volumes:
  24. # 源代码热重载(跳过 node_modules 和 build 产物)
  25. - ./agentpaas:/app/agentpaas
  26. - ./lambdagent:/app/lambdagent
  27. - ./lambdagent_guard:/app/lambdagent_guard
  28. # 数据目录与 prod 共享(都指向 ~/.agentpaas/data)
  29. - "${AGENTPAAS_DATA_DIR}:/data"
  30. environment:
  31. AGENTPAAS_DATA_DIR: "/data"
  32. AGENTPAAS_DEBUG: "true"
  33. # audit #24 — was `${AGENTPAAS_MASTER_KEY:-dev_auto_generated}`,
  34. # a public static fallback letting anyone reading the repo decrypt
  35. # vault secrets on a default-config dev container. Fail-fast like
  36. # prod: install-native.sh / start.sh generate one via
  37. # `python -c "import secrets; print(secrets.token_hex(32))"` and
  38. # write it to .env. If that hasn't been done, this compose file
  39. # will refuse to start, which is the correct behavior.
  40. AGENTPAAS_MASTER_KEY: "${AGENTPAAS_MASTER_KEY:?AGENTPAAS_MASTER_KEY is required — generate via `python -c 'import secrets; print(secrets.token_hex(32))'` and add it to .env}"
  41. DASHSCOPE_API_KEY: "${DASHSCOPE_API_KEY:-}"
  42. OPENAI_API_KEY: "${OPENAI_API_KEY:-}"
  43. ANTHROPIC_API_KEY: "${ANTHROPIC_API_KEY:-}"
  44. command: >
  45. python -m agentpaas serve
  46. --host 0.0.0.0
  47. --port 8000
  48. --dev
  49. restart: "no"