docker-compose.dev.yml 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. # Frontend Development - Backend built from local source
  2. #
  3. # Usage:
  4. # 1. docker compose -f docker-compose.dev.yml up -d
  5. # 2. cd web && bun install && bun run dev
  6. # 3. Open http://localhost:3001 (Rsbuild dev server, API auto-proxied to :3000)
  7. #
  8. # Rebuild backend after Go code changes:
  9. # docker compose -f docker-compose.dev.yml up -d --build new-api
  10. #
  11. # Stop:
  12. # docker compose -f docker-compose.dev.yml down
  13. #
  14. # Reset data:
  15. # docker compose -f docker-compose.dev.yml down -v
  16. services:
  17. new-api:
  18. build:
  19. context: .
  20. dockerfile: Dockerfile.dev
  21. image: new-api-dev:local
  22. container_name: new-api-dev
  23. restart: unless-stopped
  24. ports:
  25. - "3000:3000"
  26. volumes:
  27. - dev_data:/data
  28. environment:
  29. - SQL_DSN=postgresql://root:123456@postgres:5432/new-api
  30. - REDIS_CONN_STRING=redis://redis
  31. - TZ=Asia/Shanghai
  32. - BATCH_UPDATE_ENABLED=true
  33. depends_on:
  34. redis:
  35. condition: service_started
  36. postgres:
  37. condition: service_healthy
  38. networks:
  39. - dev-network
  40. redis:
  41. image: redis:7-alpine
  42. container_name: new-api-dev-redis
  43. restart: unless-stopped
  44. networks:
  45. - dev-network
  46. postgres:
  47. image: postgres:15-alpine
  48. container_name: new-api-dev-pg
  49. restart: unless-stopped
  50. environment:
  51. POSTGRES_USER: root
  52. POSTGRES_PASSWORD: 123456
  53. POSTGRES_DB: new-api
  54. volumes:
  55. - dev_pg_data:/var/lib/postgresql/data
  56. networks:
  57. - dev-network
  58. healthcheck:
  59. test: ["CMD-SHELL", "pg_isready -U root -d new-api"]
  60. interval: 5s
  61. timeout: 3s
  62. retries: 5
  63. volumes:
  64. dev_data:
  65. dev_pg_data:
  66. networks:
  67. dev-network:
  68. driver: bridge